呜呜呜求助,不知道为啥无限循环tle
查看原帖
呜呜呜求助,不知道为啥无限循环tle
469249
天才美少女楼主2021/2/27 06:59

代码如下

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
//lion heart
//into the new world
//61s
//you are my celebrity
//Park Jiyeon 
//Lim yoona
int main() {
    string a, b;
    int ans = 0;
    cin >> a >> b;
    if(a==b){
    int tmp=0;
    for (int i = 0; i < 4; i++) {
            if (a[i] == a[7 - i]) { tmp++; continue; }
            else break;
        }
        if (tmp == 4)ans++;
        if(ans){cout<<1;return 0;}
        else {cout<<0;return 0;}
    }    
    while (a != b) {
        int tmp = 0;
        int isrunnian = 0;
        int m1 = 0, m2 = 0, m3 = 0;
        for (int i = 0; i < 4; i++) {
            if (a[i] == a[7 - i]) { tmp++; continue; }
            else break;
        }
        if (tmp == 4)ans++;
        int y = (a[0] - '0') * 1000 + (a[1] - '0') * 100 + (a[2] - '0') * 10 + (a[3] - '0');
        int m = (a[4] - '0') * 10 + (a[5] - '0');
        int d = (a[6] - '0') * 10 + (a[7] - '0');
        if (m == 12 && d == 31) {
            y++; 
            a[0] = y / 1000 % 10 + '0';
            a[1] = y / 100 % 10 + '0';
            a[2] = y / 10 % 10 + '0';
            a[3] = y % 10 + '0';
            a[4] = '0', a[5] = '1', a[6] = '0', a[7] = '1';
        }
        if (!y % 400 || (y % 100 && !y % 4))isrunnian = 1;
        else isrunnian=0;
        if (m == 1 || m == 3 || m == 5 || m == 7 || m == 8 || m == 10 || m == 12)m1 = 1;
        else if (m == 2)m3 = 1;
        else m2 = 1;
        if (m1) { if (d < 31) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0'; } }
        if (m2) { if (d < 30) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
        } }
        if (m3) { if (isrunnian) { if (d < 29) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
        } } else { if (m1) { if (d < 28) { d++; a[6] = d / 10 % 10 + '0'; a[7] = d / 10 + '0'; } else { a[6] = 0 + '0'; a[7] = 1 + '0'; m++; a[4] = m / 10 % 10 + '0', a[5] = m % 10 + '0';
        } } } }
    }
    cout << ans;
    return 0;
}
2021/2/27 06:59
加载中...