結果
| 問題 |
No.2702 Nand Nor Matrix
|
| コンテスト | |
| ユーザー |
kokosei
|
| 提出日時 | 2024-03-30 16:46:03 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 110 ms / 2,000 ms |
| コード長 | 868 bytes |
| コンパイル時間 | 731 ms |
| コンパイル使用メモリ | 78,464 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-09-30 17:36:17 |
| 合計ジャッジ時間 | 8,457 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 1 |
| other | AC * 51 |
ソースコード
#include <iostream>
using namespace std;
using ll = long long;
int N, Q;
int A[202020], B[202020];
int main(void){
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin >> N;
for(int i = 0;i < N;i++)cin >> A[i];
for(int i = 1;i < N;i++)cin >> B[i];
int h = 0, w = 0;
if(A[1] == B[1]){
h = 1, w = 1;
for(int c = A[1];w < N;w++,c=!c)if(A[w] != c)break;
for(int c = A[1];h < N;h++,c=!c)if(B[h] != c)break;
}
cin >> Q;
while(Q--){
ll t; int x, y;
cin >> t >> x >> y;
x--, y--;
if(x == 0){
cout << A[y] << "\n";
}else if(y == 0){
cout << B[x] << "\n";
}else if(x < h && y < w){
cout << (t < x + y - 1 ? t % 2 : !A[1] ^ (x + y & 1)) << "\n";
}else{
cout << t % 2 << "\n";
}
}
return 0;
}
kokosei