899B
来源:互联网 发布:origin 画图 mac 编辑:程序博客网 时间:2024/06/04 19:55
题意:输入一个n,然后连输入n个月份的天数,让我们判断它给的连续月份天数是正确的么,正确就输出Yes,否则输出No。
题解:我们先开一个数组,保存一年中每月的天数。然后另开一个数组保存输入的每个月份天数,两层for循环,输入的月份去匹配一年中的月份,当输入的数组匹配结束,就表明这n个月份是合法的。cnt记录闰年2月的个数,因为范围n是24个月,两年最多一个闰年二月。最后判断输出。
#include<bits/stdc++.h>using namespace std;int a[12]= {31,28,31,30,31,30,31,31,30,31,30,31};int b[30];int main(){ int n,m,cnt,j,k,x; while(cin>>n) { cnt=0; for(int i=0; i<n; i++) cin>>b[i]; for( j=0; j<12; j++) ///一年12月 { for( k=0; k<n; k++) ///月份去匹配一年中的月份 { x=(k+j)%12; if(x==1&&(b[k]!=28&&b[k]!=29)||(x!=1&&b[k]!=a[x]))///匹配 break; if(x==1&&b[k]==29) ///记录闰年在n个月中出现的次数 cnt++; } if(k==n) break; ///匹配成功跳出循环 } if(j==12||cnt>1) ///匹配不成功或者闰年2月数超过了2就不正确 puts("No"); else puts("Yes"); } return 0;}
阅读全文
0 0
- 899B
- b
- b
- b
- //b
- B
- b
- B
- B
- B
- B
- b
- B
- B
- B
- B
- B
- B
- 常见的数据库优化策略(经典)
- VS2010编译C++项目error LNK1123错误解决办法
- Codeforces Round #453 (Div. 2)A,B,C
- 性别特么有这么重要么
- java--URL编码和解码
- 899B
- linux开机启动mongodb
- spring框架之快速入门
- 程序员面试宝典随笔记(一)-----C++智能指针初步
- Atom 使用基本命令
- LeetCode之Find Smallest Letter Greater Than Target(Kotlin)
- 第十六周LeetCode
- 商品列表,未支付,已支付
- go的web编程