记录编号 |
563189 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
[CSP JX2019]日期(民间数据) |
最终得分 |
100 |
用户昵称 |
斯内普和骑士 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.000 s |
提交时间 |
2021-07-17 19:47:31 |
内存使用 |
0.00 MiB |
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
char ch[5];
int a[4];
int ans;
void checkri(int G,int a,int b)
{
int g=a*10+b;
if(G==0)
{
if(g>28||g==0)
{
ans++;
return;
}
}
else if(G==1)
{
if(g>31||g==0)
{
ans++;
return;
}
}
else if(G==2)
{
if(g>30||g==0)
{
ans++;
return;
}
}
}
void checkyue(int x,int y)
{
if(x>1)
{
ans++;
if(y)
checkyue(0,y);
else
checkyue(1,y);
}
else if(x==0&&y==2)
{
checkri(0,a[2],a[3]);
return;
}
else if(x==0&&(y==1||y==3||y==5||y==7||y==8))
{
checkri(1,a[2],a[3]);
return;
}
else if(x==0&&(y==4||y==6||y==9))
{
checkri(2,a[2],a[3]);
return;
}
else if(x==1&&(y==0||y==2))
{
checkri(1,a[2],a[3]);
return;
}
else if(x==1&&(y==1))
{
checkri(2,a[2],a[3]);
}
else if(x==1&&(y>2))
{
ans++;
checkri(1,a[2],a[3]);
}
else if(x==0||y==0)
{
ans++;
checkyue(0,3);
}
}
int main()
{
freopen("2019jx_date.in","r",stdin);
freopen("2019jx_date.out","w",stdout);
scanf("%s",ch);
a[0]=ch[0]-'0',a[1]=ch[1]-'0',a[2]=ch[3]-'0',a[3]=ch[4]-'0';
//printf("%d%d%d%d",a[0],a[1],a[2],a[3]);
ans=0;
checkyue(a[0],a[1]);
printf("%d\n",ans);
return 0;
}