CCF 2015-03-3 节日
输出y1到y2年之间的每一年的a月份的第b个周c。感觉像是一个恶心的模拟。更像一个很恶心的小学奥赛题。
题目:http://115.28.138.223/view.page?gpid=T25
考试的时候。我猜我是做不出来的。感觉这个代码的函数用的太机智了。某人智商堪忧丫。。。
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<algorithm>
#include<map>
using namespace std; int run(int year) { // 判断是否是闰年。
if (year % == ) return ;
else if (year % != && year % == ) return ;
else return ;
} int days (int leap, int month) { // 判断这一年的1月到month月开始一共有多少天。这个函数好机智有木有。
switch (month) {
case : return ;
case : return ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
case : return leap ? : ;
}
} int monthDays(int leap, int temp) { // 判断当年的temp月有多少天。
switch (temp) {
case :
case :
case :
case :
case :
case :
return ;
case :
case :
case :
case :
case :
return ;
case :
return leap ? : ;
}
} int main() {
int month, week, day, y1, y2;
while(cin >> month >> week >> day >> y1 >> y2) {
int leapCount = ;
for (int i=; i<y1; ++i) {
if (run(i) == ) leapCount++;
}
for (int i=y1; i<=y2; ++i) {
// 对于我这种小学数学没学好的人来说。。。下面的计算太难了。。
int totDay = (i-)* + leapCount + days(run(i), month); // 从1850年开始到当年的这个月开始一共有多少天。
int weekDay= totDay% + ; //当年的这个月开始时周几。
int weekCount = day < weekDay ? : ; //需要跨过几个周。如果day>weekDay。说明计数周又可以减少一个。基数是1。因为是第几周的周几。所以跨过week-1就好了。
int ans = -weekDay + (week - weekCount)* + day;
if (ans <= monthDays(run(i), month)) // 如果这一天在这个月存在的话。输出。
{
cout << i << '/';
if (month < ) cout << "";
cout << month << '/';
if (ans < ) cout << "";
cout << ans << endl;
}
else cout << "none\n";
if (run(i) == ) leapCount++; // 开始这里忘记了。!!!
}
}
return ;
}
CCF 2015-03-3 节日的更多相关文章
- iOS 学习笔记 六 (2015.03.28)常见错误
2015.03.28 1. property's synthesized getter follows Cocoa naming convention for returning 'owned' ob ...
- Contest2071 - 湖南多校对抗赛(2015.03.28)
Contest2071 - 湖南多校对抗赛(2015.03.28) 本次比赛试题由湖南大学ACM校队原创 http://acm.csu.edu.cn/OnlineJudge/contest.php?c ...
- CCF真题之节日
201503-3 问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日. 现在,给你a,b,c和y1, y2(1850 ≤ y ...
- https://blog.helong.info/blog/2015/03/13/jump_consistent_hash/
转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT) ...
- iOS 学习笔记 七 (2015.03.29)code snippet操作
1.code snippet 备份路径:~/Library/Developer/Xcode/UserData/CodeSnippets/
- iOS 学习笔记 五 (2015.03.17)使用storyBoard进行tableview的跳转
方法一: 点击tableviewCell后,按住ctrl键拖拽至想要跳转的新的界面.这样跳转的结果是,点击tableview中的任何一行都会跳转到新的界面.可以通过控制cell的 属性 userInt ...
- iOS 学习笔记 三 (2015.03.05)
服务和特征都是用UUID来唯一标识的,UUID的概念如果不清楚请自行google,国际蓝牙组织为一些很典型的设备(比如测量心跳和血压的设备)规定了标准的service UUID(特征的UUID比较多, ...
- Cheatsheet: 2015 03.01 ~ 03.31
Web The Architecture of Algolia's Distributed Search Network No promises: asynchronous JavaScript wi ...
- Spring-demo1(初学者的尝试,2015.03.19)
项目结构: 源代码如下: package com.bean; public interface Person { public void Speak(); } package com.bean; pu ...
- C# 日期格式转换 string类型 20150329 转换为 2015/03/29
DateTime.ParseExact("20150329", "yyyyMMdd", System.Globalization.CultureInfo.Cur ...
随机推荐
- C# 将文件转换为 Stream
public Stream FileToStream(string fileName) { // 打开文件 FileStream fileStream = new FileStream(fileNam ...
- 为什么我的电脑win系统没有便笺功能?为什么我在开始菜单里找不到便笺功能?
有些网友表示,为什么我的电脑没有便笺功能?为什么我在开始菜单里找不到便笺功能? 从问题可以基本判断出来,这些网友使用的Win7版本有可能是买笔记本或者台式电脑时预装的Win7家庭普通版或者Win7精简 ...
- python 元组列表合并
#create a tuple l = [(,), (,), (,)] print(list(zip(*l)))
- Ubuntu 下载
http://releases.ubuntu.com/
- kali linux下几个更新命令的区分
首先更新命令有:apt-get update ,apt-get upgrade ,apt-get dist-upgrade等三个: (1)apt-get update:只更新软件包的索引源,作用:同步 ...
- [原][osg][osgEarth]osg::Matrix 父子节点的变化关系
//osg::Matrix offsetmatrix 计算出子节点在父节点下的绝对坐标 //osg::Matrix offposition 用来计算当前节点相对父节点的位置 osg::Matrix o ...
- 《剑指offer》第三十六题(二叉搜索树与双向链表)
// 面试题36:二叉搜索树与双向链表 // 题目:输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求 // 不能创建任何新的结点,只能调整树中结点指针的指向. #include < ...
- Android TableLayout中的使用说明
TableLayout特点: 1)TableLayout和我们平时在网页上见到的Table有所不同,TableLayout没有边框的 2)它是由多个TableRow对象组成,每个TableRow可以有 ...
- Java 常用对象-StringBuffer类
2017-11-02 20:57:02 StringBuffer:线程安全的可变字符序列.一个类似于 String 的字符串缓冲区,但不能修改.虽然在任意时间点上它都包含某种特定的字符序列,但通过某些 ...
- 我为什么放弃使用mybatis3的mapper注解了
原文链接 最近在使用MyBatis3做项目.在使用注解实现Mapper的时候遇到了比较奇葩的问题:在实现数据的batch insert的时候总是报错.好不容易可以正常插入了,但是又不能返回自增的主键i ...