问题标题: 酷町堂:为啥80

0
0
王子恺
王子恺
修练者
修练者

题目链接: 酷町堂:6317

#include<iostream>

#include<string>

using namespace std;

string s;

int ans;

int data[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int main(){

cin >> s;

int tmp1 = 0, tmp2 = 0, tmp3 = 0;

for(int i=0;i<2;i++){

   if(i==0) tmp1+=(s[i]-='0')*10;

         else   tmp1+=(s[i]-='0');

     }

     if(tmp1==0){

       ans++;

       tmp1=1;

     }

     if(tmp1>12){

        ans++;

        int a1=(tmp1/10)*10;

        int a2=tmp1%10;

        if(a2==1){

           tmp1==1;

         }else if(a2==2){

            tmp1=12;

         }else {

            int d1=data[a1], d2=data[a2];

            if(d1>d2)

             tmp1=a1;

            else

             tmp1=a2;

         }

     }

     for(int i=3;i<5;i++){

   if(i==3) tmp2=(s[i]-='0');

         else   tmp3=(s[i]-='0');

     }

     //cout << tmp2 << " " << tmp3 << endl;

     if(tmp2*10+tmp3>data[tmp1]){

        int a1=data[tmp1]/10;

        int a2=data[tmp1]%10;

        if(tmp2>a1) ans++;

        else if(tmp3>a2&&tmp2>=a1) ans++;

        //cout << a1 << ' ' << a2 << endl;

     }

     cout << ans;

    return 0;

}


 

我要回答