USACO section 1.1.3 黑色星期五
来源:互联网 发布:门禁一卡通软件设置 编辑:程序博客网 时间:2024/06/10 22:15
黑色星期五~
题目大意: 从1900年1月1日开始,输入一个n,到1900+n-1年
12月31日,统计这些天中的 13 号 分别落星期几。。
解决方案:
(1)首先应该开一个长度至少为7的数组,来存放星期一到
星期天。。
(2)其次,就是有关闰年判别的算法,这个算法要当做一个模板
记住,,,用的时候要 不加思考的立马秒出来啊,,,
(3)然后,就是对于怎样累加每次所得到的天数技巧。。。判断出1900年1月13日为星期6,I = 6;
然后将每个月依次加到这个I上,在对I模7得到它是星期几,不满足1900+n-1这个条件为止
(4)核心代码就是一个时间复杂度为O(n2)的for循环,外层for用来判断是否是闰年,是的话,更新mon[1]的值为29,
题目大意: 从1900年1月1日开始,输入一个n,到1900+n-1年
12月31日,统计这些天中的 13 号 分别落星期几。。
解决方案:
(1)首先应该开一个长度至少为7的数组,来存放星期一到
星期天。。
(2)其次,就是有关闰年判别的算法,这个算法要当做一个模板
记住,,,用的时候要 不加思考的立马秒出来啊,,,
bool inline is_leap( int year ){ if ( year%4 == 0&&year%100 != 0||year%400 == 0 ) { return true; } else { return false; }}
(3)然后,就是对于怎样累加每次所得到的天数技巧。。。判断出1900年1月13日为星期6,I = 6;
然后将每个月依次加到这个I上,在对I模7得到它是星期几,不满足1900+n-1这个条件为止
(4)核心代码就是一个时间复杂度为O(n2)的for循环,外层for用来判断是否是闰年,是的话,更新mon[1]的值为29,
每进行一次内循环都要维护下mon[1] 为28。。。
代码:
# include<iostream># include<cstdio># include<cmath># include<cstring># include<cstdlib># include<algorithm>using namespace std;int day[7];int mon[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };bool inline is_leap( int year ){ if ( year%4 == 0&&year%100 != 0||year%400 == 0 ) { return true; } else { return false; }}int main(void){ memset(day,0,sizeof(day)); int n; cin>>n; n = n + 1900; int I = 6;//1900年1月13日 是 星期六 for ( int i = 1900;i < n;i++ ) { if ( is_leap( i )) mon[1] = 29; for ( int j = 0;j < 12;j++ ) { day[I]++; I = I + mon[j]; I = I % 7; } mon[1] = 28; } cout<<day[6]; for ( int i = 0;i < 6;i++ ) { cout<<' '<<day[i]; } return 0;}
0 0
- USACO section 1.1.3 黑色星期五
- USACO 1.1 黑色星期五 (模拟)
- USACO 1.1 黑色星期五
- Usaco 1.1.3 黑色星期五(Friday the Thirteenth)
- 【USACO题库】1.1.3 Friday the Thirteenth黑色星期五
- 【USACO题库】1.1.3 Friday the Thirteenth黑色星期五
- USACO 黑色星期五
- 【USACO】黑色星期五
- USACO 1.1 黑色星期五Friday the Thirteenth
- USACO Section 1.1.3 Friday the Thirteenth
- USACO Section 1.1 题解
- USACO Section 1.1
- [USACO Training] Section 1.1
- USACO section 1.3.3
- usaco第三题黑色星期五
- 1384 黑色星期五 USACO
- codevs1384黑色星期五【USACO】
- USACO——黑色星期五
- 如何回滚请求<复制系统初始的数据>所处理的数据
- Java bean
- pthread_attr_t 线程属性(一)
- poj1094
- C++ primer(第五版) 练习 6.55 个人 code
- USACO section 1.1.3 黑色星期五
- 是如何快速的把log内容写到磁盘上
- jsp - displaytable - 查询调用查询方法
- Android Studio导入Git项目
- PLSQL Developer安装
- Style 样式化TextView
- 电梯调度
- HDU1212:Big Number(大数求模)
- Oracle中各种进制相互转换