結果

問題 No.429 CupShuffle
ユーザー suppy193suppy193
提出日時 2016-11-16 13:02:23
言語 C90
(gcc 11.4.0)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 1,129 bytes
コンパイル時間 615 ms
コンパイル使用メモリ 25,024 KB
実行使用メモリ 4,500 KB
最終ジャッジ日時 2023-08-17 07:24:18
合計ジャッジ時間 1,504 ms
ジャッジサーバーID
(参考情報)
judge12 / judge14
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
4,380 KB
testcase_01 AC 2 ms
4,376 KB
testcase_02 AC 2 ms
4,376 KB
testcase_03 AC 1 ms
4,380 KB
testcase_04 AC 2 ms
4,376 KB
testcase_05 AC 1 ms
4,380 KB
testcase_06 AC 2 ms
4,384 KB
testcase_07 AC 2 ms
4,384 KB
testcase_08 AC 1 ms
4,376 KB
testcase_09 AC 2 ms
4,376 KB
testcase_10 AC 5 ms
4,384 KB
testcase_11 AC 31 ms
4,380 KB
testcase_12 AC 30 ms
4,380 KB
testcase_13 AC 31 ms
4,500 KB
testcase_14 AC 30 ms
4,380 KB
testcase_15 AC 2 ms
4,384 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.c: In function ‘main’:
main.c:40:12: warning: implicit declaration of function ‘atoi’ [-Wimplicit-function-declaration]
   swap(&s1[atoi(a)], &s1[atoi(b)]);
            ^~~~

ソースコード

diff #

#include <stdio.h>

void swap(int *a, int *b)
{
	int temp;
	temp = *a;
	*a = *b;
	*b = temp;
}

void disp(int a[], int k)
{
	int i;
	for(i = 1;i <= k;i++){
		printf("%d ", a[i]);
	}
	printf("\n");
}

int main(void) {
	int n, k ,x;
	int s1[100001] = {0};
	int s2[100001] = {0};
	int s3[100001] = {0};
	char a[10], b[10];
	int c[100001] = {0};
	int i, i1, j;
	int diff[2];
	scanf("%d%d%d", &n, &k, &x);
	for(i = 1;i <= n;i++){
		s1[i] = i;
	}
	//disp(s1, n);
	for(i = 0;i < k;i++){
		scanf("%s%s", a, b);
		//printf("%s %s\n", a, b);
		if(a[0] == '?'){
			break;
		}
		swap(&s1[atoi(a)], &s1[atoi(b)]);
		//disp(s1, n);
		//printf("%d\n", atoi(a));
	}
	i1 = i;
	
	//printf("\n");
	
	for(i = 1;i <= n;i++){
		s2[i] = i;
	}
	//disp(s2, n);
	for(i = i1 + 1;i < k;i++){
		scanf("%s%s", a, b);
		//printf("%s %s\n", a, b);
		swap(&s2[atoi(a)], &s2[atoi(b)]);
		//disp(s2, n);
		//printf("%d\n", atoi(a));
	}
	for(i = 1;i <= n;i++){
		scanf("%d\n", &c[i]);
		s3[s2[i]] = c[i];
	}
	//disp(s3, n);

	j = 0; 	
	for(i = 1;i <= n;i++){
		if(s1[i] != s3[i]){
			diff[j] = i;
			j++;
		}
	}
	printf("%d %d\n", diff[0], diff[1]);
	
	return 0;
}
0