제출 #219301

#제출 시각아이디문제언어결과실행 시간메모리
219301kartelDatum (COCI20_datum)C++14
20 / 50
892 ms736 KiB
#include <bits/stdc++.h> //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> #define in(x) freopen(x, "r", stdin) #define out(x) freopen(x, "w", stdout) //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") //#pragma GCC optimize("-O3") #define F first #define S second #define pb push_back #define N +400500 #define M ll(1e9 + 7) #define sz(x) (int)x.size() #define re return #define oo ll(1e18) #define el '\n' using namespace std; //using namespace __gnu_pbds; //typedef tree <int, null_type, less_equal <int> , rb_tree_tag, tree_order_statistics_node_update> ordered_set; typedef long long ll; typedef long double ld; int main() { srand(time(0)); ios_base::sync_with_stdio(0); iostream::sync_with_stdio(0); ios::sync_with_stdio(0); cin.tie(NULL); cout.tie(NULL); // in("qual.in"); // out("qual.out"); int q; cin >> q; while (q--) { string s, t, m, y, d; int i, j, Y, D; cin >> s; t = s; t.erase(t.size() - 1); t.erase(2, 1); t.erase(4, 1); j = 0; while (j < t.size() - j - 1) t[j] = t[t.size() - j - 1], j++; m = t.substr(2, 2); d = t.substr(0, 2); y = t.substr(4); Y = atoi(y.c_str()); D = atoi(d.c_str()); if (m == "01" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if ((m == "02" && D <= 28) || (Y % 4 == 0 && m == "02" && D <= 29)) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "03" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "04" && D <= 30) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "05" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "06" && D <= 30) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "07" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "08" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "09" && D <= 30) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "10" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "11" && D <= 30) {cout << d << "." << m << "." << y << "." << el;continue;}; if (m == "12" && D <= 31) {cout << d << "." << m << "." << y << "." << el;continue;}; for (i = 0; i < 9000; i++) { j = t.size() - 1; while (t[j] == '9') t[j] = '0', j--; t[j]++; j = 0; while (j < t.size() - j - 1) t[j] = t[t.size() - j - 1], j++; m = t.substr(2, 2); d = t.substr(0, 2); y = t.substr(4); Y = atoi(y.c_str()); D = atoi(d.c_str()); if (m == "01" && D <= 31) break; if ((m == "02" && D <= 28) || (Y % 4 == 0 && m == "02" && D <= 29)) break; if (m == "03" && D <= 31) break; if (m == "04" && D <= 30) break; if (m == "05" && D <= 31) break; if (m == "06" && D <= 30) break; if (m == "07" && D <= 31) break; if (m == "08" && D <= 31) break; if (m == "09" && D <= 30) break; if (m == "10" && D <= 31) break; if (m == "11" && D <= 30) break; if (m == "12" && D <= 31) break; } cout << d << "." << m << "." << y << "." << el; } }

컴파일 시 표준 에러 (stderr) 메시지

datum.cpp: In function 'int main()':
datum.cpp:48:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         while (j < t.size() - j - 1) t[j] = t[t.size() - j - 1], j++;
                ~~^~~~~~~~~~~~~~~~~~
datum.cpp:77:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             while (j < t.size() - j - 1) t[j] = t[t.size() - j - 1], j++;
                    ~~^~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...