Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin ("momente.in");
- ofstream fout ("momente.out");
- int N, l1, z1, h1, m1, s1, l2, z2, h2, m2, s2, a[90001];
- const int Luni[] = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
- int Zile_Complete () {
- if (l1 == l2)
- return z2 - z1 - 1;
- int z = Luni[l1] - z1 + z2 - 1;
- for (int i = l1 + 1; i < l2; i ++)
- z += Luni[i];
- return z;
- }
- int Invers (int x) {
- int inv = 0;
- while (x)
- inv = inv * 10 + x % 10, x /= 10;
- return inv;
- }
- void Palindroame () {
- int ora = 0;
- a[1] = 1;
- for (int i = 2; i <= 3600 * 24 - 1; i ++) {
- ora ++;
- a[i] = a[i - 1];
- if (ora == Invers(ora))
- a[i] ++;
- if (ora % 100 == 60)
- ora += 40;
- if (ora % 10000 / 100 == 60)
- ora += 4000;
- }
- }
- inline int Secunde (int h, int m, int s) {
- return h * 3600 + m * 60 + s;
- }
- int main () {
- fin >> N;
- Palindroame();
- a[86400] = 699;
- for (int i = 0; i < N; i ++) {
- fin >> l1 >> z1 >> h1 >> m1 >> s1 >> l2 >> z2 >> h2 >> m2 >> s2;
- int ans = 0;
- ans = Zile_Complete() * 699;
- ans += 699 - a[Secunde (h1, m1, s1)];
- ans += a[Secunde (h2, m2, s2) + 1];
- fout << ans << '\n';
- }
- fin.close();
- fout.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement