제출 #1152501

#제출 시각아이디문제언어결과실행 시간메모리
1152501hmm789Trobojnica (COCI19_trobojnica)C++20
0 / 110
0 ms320 KiB
#include "bits/stdc++.h" using namespace std; #define int long long #define double long double #define INF 1000000000000000000 #define MOD 1000000007 int32_t main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, ans = 0; string s; cin >> n >> s; int a[n]; for(int i = 0; i < n; i++) a[i] = s[i]-'0'; int idx = -1; for(int i = 0; i < n; i++) { ans ^= a[i]; if(a[i] != a[(i+1)%n] && (a[(i+n-1)%n] == a[i] || a[(i+n-1)%n] == a[(i+1)%n] || a[(i+2)%n] == a[i] || a[(i+2)%n] == a[(i+1)%n])) idx = i; } if(ans || idx == -1) { cout << "NE\n"; return 0; } cout << "DA\n"; int i1 = idx, i2 = (idx+1)%n, prv = a[i1]^a[i2]; cout << i1+1 << " " << (i2+1)%n+1 << " " << prv << '\n'; i1 = (i1+n-1)%n; i2 = (i2+1)%n; for(int i = 0; i < n-4; i++) { if(a[i1] != prv) { prv ^= a[i1]; cout << i1+1 << " " << i2+1 << " " << prv << '\n'; i1 = (i1+n-1)%n; } else { prv ^= a[i2]; cout << (i1+1)%n+1 << " " << (i2+1)%n+1 << " " << prv << '\n'; i2 = (i2+1)%n; } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...