結果
問題 | No.101 ぐるぐる!あみだくじ! |
ユーザー |
|
提出日時 | 2016-11-23 07:12:52 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 743 bytes |
コンパイル時間 | 477 ms |
コンパイル使用メモリ | 61,812 KB |
実行使用メモリ | 8,576 KB |
最終ジャッジ日時 | 2024-11-27 10:17:59 |
合計ジャッジ時間 | 34,873 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 33 TLE * 4 |
コンパイルメッセージ
main.cpp: In function ‘int main()’: main.cpp:37:15: warning: ‘a’ may be used uninitialized in this function [-Wmaybe-uninitialized] 37 | while(v1[a]!=v2[a]){ | ^
ソースコード
#include <iostream> #include <vector> using namespace std; int main(){ int N;cin>>N; int K;cin>>K; int X,Y; vector<int> v1(N); for(int i=0;i<N;++i){ v1[i]=i+1; } vector<int> v2=v1; for(int i=0;i<K;++i){ cin>>X>>Y; int t=v2[X-1]; v2[X-1]=v2[Y-1]; v2[Y-1]=t; } vector<int> v3(N); for(int i=0;i<N;++i){ for(int j=0;j<N;++j){ if(v1[i]==v2[j]){ v3[i]=j; break; } } } int cnt=1; while(v1!=v2){ int a; for(int i=0;i<N;++i){ if(v1[i]!=v2[i]){ a=i; break; } } while(v1[a]!=v2[a]){ vector<int> v4(N); for(int i=0;i<N;++i){ v4[v3[i]]=v2[i]; } v2=v4; cnt++; } } cout<<cnt<<endl; }