結果
問題 | No.1707 Simple Range Reverse Problem |
ユーザー | 夜 |
提出日時 | 2021-10-16 01:21:32 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 4 ms / 2,000 ms |
コード長 | 936 bytes |
コンパイル時間 | 811 ms |
コンパイル使用メモリ | 97,156 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-17 19:11:59 |
合計ジャッジ時間 | 1,566 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 18 |
ソースコード
#include <iostream> #include <string> #include <algorithm> #include <vector> #include <iomanip> #include <cmath> #include <stdio.h> #include <queue> #include <deque> #include <cstdio> #include <set> #include <map> #include <bitset> #include <stack> #include <cctype> #include <fstream> using namespace std; int a[2020], x[2020]; int main() { int t; cin >> t; for (int i = 0; i < t; i++) { int n; cin >> n; for (int j = 0; j < 2 * n; j++) { cin >> x[j]; a[j] = j % n + 1; } bool bo1 = true; for (int k = 0; k < 2 * n; k++) { if (a[k] != x[k]) { bo1 = false; } } for (int j = 0; j < n; j++) { reverse(a + j, a + j + n + 1); bool bo = true; for (int k = 0; k < 2 * n; k++) { if (a[k] != x[k]) { bo = false; } } reverse(a + j, a + j + n + 1); if (bo) { bo1 = true; break; } } if (bo1) { cout << "Yes" << endl; } else { cout << "No" << endl; } } }