結果
問題 | No.241 出席番号(1) |
ユーザー |
![]() |
提出日時 | 2023-12-08 20:37:57 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 7 ms / 2,000 ms |
コード長 | 1,178 bytes |
コンパイル時間 | 2,814 ms |
コンパイル使用メモリ | 251,120 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-27 03:05:10 |
合計ジャッジ時間 | 3,995 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 29 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define WHY_NOT_AC ios::sync_with_stdio(0), cin.tie(0), cout.tie(0) // #define WHY_NOT_AC ios::sync_with_stdio(0), cin.tie(0) #define ULL unsigned long long #define int long long #define endl "\n" #define DB double #define LL long long int n; vector<int> hatenum, number; int frandom(int l, int r) { mt19937 mt(chrono::steady_clock::now().time_since_epoch().count()); uniform_int_distribution<> dis(l, r); return dis(mt); } void fshuffle() { mt19937 mt(chrono::steady_clock::now().time_since_epoch().count()); shuffle(number.begin(), number.end(), mt); } bool check() { for (int i = 0; i < n; i++) { if (hatenum[i] == number[i]) return false; } return true; } signed main() { cin >> n; hatenum.resize(n); number.resize(n); for (int i = 0; i < n; i++) { cin >> hatenum[i]; number[i] = i; } int times = 1000; while (times--) { if (check()) { for (int i : number) cout << i << endl; return 0; } fshuffle(); } cout << -1 << endl; return 0; }