結果
問題 | No.1707 Simple Range Reverse Problem |
ユーザー |
|
提出日時 | 2021-10-17 12:40:00 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 698 bytes |
コンパイル時間 | 1,587 ms |
コンパイル使用メモリ | 168,856 KB |
実行使用メモリ | 6,944 KB |
最終ジャッジ日時 | 2024-09-17 19:39:52 |
合計ジャッジ時間 | 2,137 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
#include <bits/stdc++.h>#define rep(i, n) for (int i = 0; i < (n); i++)using namespace std;using ll = long long;using pii = pair<int, int>;int main() {int t;cin >> t;while (t--) {int n;cin >> n;int n2 = n * 2;vector<int> a(n2);rep(i, n2) {cin >> a[i];a[i]--;}vector<int> x(n2);rep(i, n2) x[i] = i % n;bool ok = true;rep(i, n2) {if (x[i] != a[i]) {int l = i - 1;int r = l + n;if (l >= n) ok = false;else rep(j, r - l + 1) if (x[l + j] != a[r - j]) ok = false;i += n - 1;}}if (ok) cout << "Yes" << endl;else cout << "No" << endl;}return 0;}