結果

問題 No.241 出席番号(1)
コンテスト
ユーザー vjudge1
提出日時 2023-12-08 20:27:55
言語 C++17
(gcc 15.2.0 + boost 1.90.0)
コンパイル:
g++-15 -O2 -lm -std=c++17 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 905 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 1,179 ms
コンパイル使用メモリ 210,292 KB
実行使用メモリ 6,528 KB
最終ジャッジ日時 2026-07-03 05:33:11
合計ジャッジ時間 2,412 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge1_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 29
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function 'int main()':
main.cpp:26:23: warning: 'void std::random_shuffle(_RAIter, _RAIter, _Generator&&) [with _RAIter = long long int*; _Generator = long long int (&)(long long int)]' is deprecated: use 'std::shuffle' instead [-Wdeprecated-declarations]
   26 |         random_shuffle(all,all+n,myrandom);
      |         ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~
In file included from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/algorithm:63,
                 from /home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/x86_64-pc-linux-gnu/bits/stdc++.h:53,
                 from main.cpp:1:
/home/linuxbrew/.linuxbrew/Cellar/gcc/15.2.0_1/include/c++/15/bits/stl_algo.h:4600:5: note: declared here
 4600 |     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
      |     ^~~~~~~~~~~~~~

ソースコード

diff #
raw source code

#include<bits/stdc++.h>
#include<random>
#include<chrono>
#define int long long
#define mod 1000000007
#define endl '\n'
#define pii pair<int,int>
#define I_am_weak ios::sync_with_stdio(0),cin.tie(0);
using namespace std;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int myrandom (int i) { return rand()%i;}
signed main(){
    //???????????
    I_am_weak
    int n;
    cin>>n;
    int all[n];
    int bll[n];
    for(int i=0;i<n;i++){
        cin>>all[i];
        bll[i]=all[i];
        all[i]=i;
    }
    bool yes=0;
    for(int i=0;i<100;i++){
        random_shuffle(all,all+n,myrandom);
        bool no=0;
        for(int j=0;j<n;j++){
            if(all[j]==bll[j]){no=1;break;}
        }
        if(no==0){
            yes=1;
            break;
        }
    }
    if(yes){
        for(int i=0;i<n;i++){
            cout<<all[i]<<endl;
        }
    }else cout<<-1<<endl;

}
0