結果
| 問題 |
No.241 出席番号(1)
|
| ユーザー |
vjudge1
|
| 提出日時 | 2023-12-08 20:37:31 |
| 言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 2,000 ms |
| コード長 | 1,177 bytes |
| コンパイル時間 | 3,404 ms |
| コンパイル使用メモリ | 249,772 KB |
| 実行使用メモリ | 5,376 KB |
| 最終ジャッジ日時 | 2024-09-27 03:05:05 |
| 合計ジャッジ時間 | 4,110 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| 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 = 100;
while (times--)
{
if (check())
{
for (int i : number)
cout << i << endl;
return 0;
}
fshuffle();
}
cout << -1 << endl;
return 0;
}
vjudge1