http://codeforces.com/contest/899/problem/B
给连续的N个月,问是否存在这样的连续月份。
注意,不会有连续的两个闰年。
#include <bits/stdc++.h>
using namespace std;
int month[12]={31,28,31,30,31,30,31,31,30,31,30,31};
int n;
int a[30];
int main(){
cin >> n;
int cnt=0;
for (int i=0;i<n;i++){
cin >> a[i];
if (a[i]==29){
cnt++;
}
}
if (cnt>=2){
cout << "NO" << endl;
return 0;
}
for (int i=0;i<12;i++){
int flag=1;
for (int now=i,j=0;j<n;j++,now=(now+1)%12){
if (now==1){
if (a[j]!=28&&a[j]!=29){
flag=0;
break;
}
}
else{
if (a[j]!=month[now]){
flag=0;
break;
}
}
}
if (flag){
cout << "YES" << endl;
return 0;
}
}
cout << "NO" << endl;
}