Submission #1169406

#TimeUsernameProblemLanguageResultExecution timeMemory
1169406fzyzzz_zCrossing (JOI21_crossing)C++20
0 / 100
35 ms832 KiB
// Source: https://usaco.guide/general/io #include <bits/stdc++.h> using namespace std; char get(char a, char b) { if (a == b) return a; return a ^ b ^ '0' ^ '1' ^ '2'; } string get(string a, string b) { string res = ""; for (int i = 0; i < a.size(); ++i) { res += get(a[i], b[i]); } return res; } string read() { string s; cin >> s; for (auto & x: s) { if (x == 'J') x = '0'; else if (x == 'O') x = '1'; else x = '2'; } return s; } void solve() { int n; cin >> n; vector<string> s(3); for (auto & x: s) { x = read(); } for (int i = 0; i < 3; ++i) { s.push_back(get(s[i], s[(i + 1) % 3])); } for (int i = 0; i < 3; ++i) { s.push_back(get(s[3 + i], s[3 + (i + 1) % 3])); } sort(s.begin(), s.end()); s.erase(unique(s.begin(), s.end()), s.end()); for (auto x: s) { // cout << x << '\n'; } int q; cin >> q; string t = read(); auto can_get = [&] (string z) { for (auto x: s) { if (x == z) { return "YES"; } } return "NO"; }; cout << can_get(t) << '\n'; while (q--) { int l, r; string s; cin >> l >> r; s = read(); for (int i = l - 1; i <= r - 1; ++i) { t[i] = s[0]; } cout << can_get(t) << '\n'; } } int main() { ios_base::sync_with_stdio(false); cin.tie(0); solve(); // vector<string> v; // const int N = 20; // for (int i = 0; i < 3; ++i) { // string s = ""; // for (int j = 0; j < N; ++j) { // s += '0' + (rand() % 3); // } // v.push_back(s); // } // cout << v[0] << ' ' << v[1] << ' ' << v[2] << '\n'; // int T = 3000; // for (int t = 0; t < T; ++t) { // int a = rand() % v.size(); // int b = rand() % v.size(); // string ss = get(v[a], v[b]); // v.push_back(ss); // sort(v.begin(), v.end()); // v.erase(unique(v.begin(), v.end()), v.end()); // } // cout << v.size() << '\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...