请各位大佬帮忙找一下错误,谢谢
#include <bits/stdc++.h>
using namespace std;
int ans,a[12]={31,28,31,30,31,30,31,31,30,31,30,31},b[4],j,flag;
string s;
void rq()
{
if(s[3]>'3') ans++,flag++;
else if(s[3]=='3' && s[4]>'1') ans++,flag++;
}
void yf()
{
if(s[0]>'1') ans++;
else if(s[0]=='1' && s[2]>'2') ans++;
}
void zt(int x)
{
if(a[x]!=(b[2]*10+b[3]) && !flag) ans++;
}
int main()
{
cin>>s;
rq();
yf();
if(ans==2)
{
cout<<2;
return 0;
}
for(int i=0;i<5;i++)
{
if(i==3) continue;
b[j]=a[i]-'a';
j++;
}
zt(b[0]*10+b[1]-1);
cout<<ans;
return 0;
}