結果

問題 No.101 ぐるぐる!あみだくじ!
ユーザー itezpace
提出日時 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]){
      |               ^

ソースコード

diff #

#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;
}
0