結果
問題 | No.2702 Nand Nor Matrix |
ユーザー |
![]() |
提出日時 | 2024-03-11 22:02:43 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 320 ms / 2,000 ms |
コード長 | 1,608 bytes |
コンパイル時間 | 1,065 ms |
コンパイル使用メモリ | 89,520 KB |
実行使用メモリ | 7,964 KB |
最終ジャッジ日時 | 2024-09-29 22:05:58 |
合計ジャッジ時間 | 17,637 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 51 |
ソースコード
#include <iostream>#include <vector>using namespace std;#define int long longsigned main() {ios_base::sync_with_stdio(false);cin.tie(NULL);int N;cin >> N;vector<int> A(N), B(N);for (int i = 0; i < N; ++i)cin >> A[i];A.push_back(A.back());B[0] = A[0];for (int i = 1; i < N; ++i)cin >> B[i];B.push_back(B.back());int col = 0;for (int i = 1; i < N; ++i) {if (A[i] == A[i + 1]) {col = i;break;}}int row = 0;for (int i = 1; i < N; ++i) {if (B[i] == B[i + 1]) {row = i;break;}}if (A[1] != B[1]) {row = 0;col = 0;}int change = 0;if (A[1] == B[1] && A[1] == 0) {for (int i = 0; i <= N; ++i) {A[i] ^= 1;B[i] ^= 1;}change = 1;}int Q;cin >> Q;for (int i = 0; i < Q; ++i) {int T, R, C;cin >> T >> R >> C;--R;--C;T -= change;if (R == 0) {cout << (A[C] ^ change) << endl;continue;}if (C == 0) {cout << (B[R] ^ change) << endl;continue;}if (T <= 0) {cout << ((T & 1) ^ change) << endl;continue;}if (R <= row && C <= col && R + C - 1 <= T) {cout << (((R + C) & 1) ^ change) << endl;continue;} else {cout << ((T & 1) ^ change) << endl;continue;}}return 0;}