제출 #1122882

#제출 시각아이디문제언어결과실행 시간메모리
1122882SulACrossing (JOI21_crossing)C++20
26 / 100
7089 ms3128 KiB
#include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/assoc_container.hpp> //#pragma GCC target("popcnt") using namespace __gnu_pbds; using namespace std; using ordered_set = tree<int, null_type, less_equal<>, rb_tree_tag, tree_order_statistics_node_update>; #define popcount __builtin_popcountll #define all(a) (a).begin(), (a).end() string cross(const string& A, const string& B) { string res; res.resize(A.size()); for (int i = 0; i < A.size(); i++) { res[i] = A[i] == B[i] ? A[i] : A[i] ^ B[i] ^ 'I' ^ 'O' ^ 'J'; } return res; } signed main() { ios::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int n; cin >> n; string A,B,C; cin >> A >> B >> C; auto D = cross(A, B); auto E = cross(B, C); auto F = cross(C, A); auto G = cross(D, E); auto H = cross(E, F); auto I = cross(F, D); string T; int q; cin >> q >> T; auto solve = [&]() { cout << (T == A || T == B || T == C || T == D || T == E || T == F || T == G || T == H || T == I ? "Yes" : "No") << "\n"; }; solve(); while (q--) { int l,r; char c; cin >> l >> r >> c; for (int i = l-1; i <= r-1; i++) T[i] = c; solve(); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...