結果

問題 No.429 CupShuffle
ユーザー akakimidoriakakimidori
提出日時 2016-12-09 14:42:16
言語 C90
(gcc 11.4.0)
結果
AC  
実行時間 30 ms / 2,000 ms
コード長 734 bytes
コンパイル時間 124 ms
コンパイル使用メモリ 21,376 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-05-06 10:19:21
合計ジャッジ時間 1,386 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
5,248 KB
testcase_01 AC 2 ms
5,376 KB
testcase_02 AC 1 ms
5,376 KB
testcase_03 AC 2 ms
5,376 KB
testcase_04 AC 1 ms
5,376 KB
testcase_05 AC 2 ms
5,376 KB
testcase_06 AC 2 ms
5,376 KB
testcase_07 AC 2 ms
5,376 KB
testcase_08 AC 2 ms
5,376 KB
testcase_09 AC 2 ms
5,376 KB
testcase_10 AC 5 ms
5,376 KB
testcase_11 AC 30 ms
5,376 KB
testcase_12 AC 29 ms
5,376 KB
testcase_13 AC 30 ms
5,376 KB
testcase_14 AC 30 ms
5,376 KB
testcase_15 AC 1 ms
5,376 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘run’:
main.c:5:3: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    5 |   scanf("%d%d%d",&n,&k,&x);
      |   ^~~~~~~~~~~~~~~~~~~~~~~~
main.c:13:7: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   13 |       scanf("%d%d",A+i,B+i);
      |       ^~~~~~~~~~~~~~~~~~~~~
main.c:33:5: warning: ignoring return value of ‘scanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   33 |     scanf("%d",C+i);
      |     ^~~~~~~~~~~~~~~

ソースコード

diff #

#include<stdio.h>

void run(void){
  int n,k,x;
  scanf("%d%d%d",&n,&k,&x);

  int A[100001];
  int B[100001];
  int i;
  //char s[10];
  for(i=1;i<=k;i++){
    if(i!=x){
      scanf("%d%d",A+i,B+i);
    } else {
      while(getchar()!='\n');
      while(getchar()!='\n');
    }
  }

  int D[100001];
  for(i=1;i<=n;i++){
    D[i]=i;
  }

  for(i=1;i<x;i++){
    int t=D[A[i]];
    D[A[i]]=D[B[i]];
    D[B[i]]=t;
  }

  int C[100001];
  for(i=1;i<=n;i++){
    scanf("%d",C+i);
  }
  for(i=k;i>x;i--){
    int t=C[A[i]];
    C[A[i]]=C[B[i]];
    C[B[i]]=t;
  }
  i=1;
  while(C[i]==D[i]){
    i++;
  }
  printf("%d",i);
  i++;
  while(C[i]==D[i]){
    i++;
  }
  printf(" %d\n",i);
  return;
}

int main(void){
  run();
  return 0;
}
0