結果
問題 |
No.2496 LCM between Permutations
|
ユーザー |
|
提出日時 | 2023-10-06 23:05:48 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 898 bytes |
コンパイル時間 | 1,662 ms |
コンパイル使用メモリ | 198,792 KB |
最終ジャッジ日時 | 2025-02-17 05:30:52 |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 5 WA * 23 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main() { int N; cin >> N; vector<pair<int, int>> _A(N); int a = -1; for (int i = 0; i < N; i++){ cout << "? " << i + 1 << ' ' << i + 1 << endl; cin >> _A[i].first; int j = i + 3; while (j > N){ j -= N; } cout << "? " << i + 1 << ' ' << j << endl; cin >> _A[i].second; if (gcd(_A[i].first, _A[i].second) == 1){ a = i + 1; } } vector<int> B(N); for (int i = 0; i < N; i++){ cout << "? " << a << ' ' << i + 1 << endl; cin >> B[i]; } vector<int> A(N); for (int i = 0; i < N; i++){ for (int j = 1; j <= N; j++){ if (lcm(j, B[i]) == _A[i].first and lcm(j, B[(i + 2) % N]) == _A[i].second){ A[i] = j; break; } } } cout << "! "; for (int i = 0; i < N; i++){ cout << A[i]; cout << ' '; } for (int i = 0; i < N; i++){ cout << B[i]; if (i + 1 < N){ cout << ' '; } } cout << endl; }