AtCoder Typical Contest 001

Submission #420180

Source codeソースコード

#include <stdio.h>

#define UNION_FIND_MAX 100000

int uf_table[UNION_FIND_MAX];

void uf_init(void) {
	int i;
	for(i=0;i<UNION_FIND_MAX;i++)uf_table[i]=0;
}

void uf_merge(int a,int b) {
	int next;
	while(uf_table[a]>0) {
		next=uf_table[a]-1;
		if(uf_table[next]>0)uf_table[a]=uf_table[next];
		a=next;
	}
	while(uf_table[b]>0) {
		next=uf_table[b]-1;
		if(uf_table[next]>0)uf_table[b]=uf_table[next];
		b=next;
	}
	if(a!=b)uf_table[a]=b+1;
}

int uf_issame(int a,int b) {
	int next;
	while(uf_table[a]>0) {
		next=uf_table[a]-1;
		if(uf_table[next]>0)uf_table[a]=uf_table[next];
		a=next;
	}
	while(uf_table[b]>0) {
		next=uf_table[b]-1;
		if(uf_table[next]>0)uf_table[b]=uf_table[next];
		b=next;
	}
	return a==b;
}

int main(void) {
	int asumi,mizuhasi;
	int kitaeri;
	if(scanf("%d%d",&asumi,&mizuhasi)!=2)return 1;
	uf_init();
	for(kitaeri=0;kitaeri<mizuhasi;kitaeri++) {
		int ayaneru,riesyon,mareitaso;
		if(scanf("%d%d%d",&ayaneru,&riesyon,&mareitaso)!=3)return 1;
		if(ayaneru==0) {
			uf_merge(riesyon,mareitaso);
		} else if(ayaneru==1) {
			puts(uf_issame(riesyon,mareitaso)?"Yes":"No");
		}
	}
	return 0;
}

Submission

Task問題 B - Union Find
User nameユーザ名 みけCAT
Created time投稿日時
Language言語 C (GCC 4.9.2)
Status状態 AC
Score得点 100
Source lengthソースコード長 1178 Byte
File nameファイル名
Exec time実行時間 142 ms
Memory usageメモリ使用量 1184 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - 00_sample_01.txt
All 100 / 100 00_sample_01.txt,subtask_01_01.txt,subtask_01_02.txt,subtask_01_03.txt,subtask_01_04.txt,subtask_01_05.txt,subtask_01_06.txt,subtask_01_07.txt,subtask_01_08.txt,subtask_01_09.txt,subtask_01_10.txt,subtask_01_11.txt,subtask_01_12.txt,subtask_01_13.txt,subtask_01_14.txt,subtask_01_15.txt,subtask_01_16.txt,subtask_01_17.txt,subtask_01_18.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
00_sample_01.txt AC 25 ms 1184 KB
subtask_01_01.txt AC 88 ms 1180 KB
subtask_01_02.txt AC 25 ms 1056 KB
subtask_01_03.txt AC 142 ms 1176 KB
subtask_01_04.txt AC 134 ms 1052 KB
subtask_01_05.txt AC 32 ms 1180 KB
subtask_01_06.txt AC 32 ms 1180 KB
subtask_01_07.txt AC 129 ms 1172 KB
subtask_01_08.txt AC 128 ms 988 KB
subtask_01_09.txt AC 26 ms 1176 KB
subtask_01_10.txt AC 23 ms 1176 KB
subtask_01_11.txt AC 134 ms 1176 KB
subtask_01_12.txt AC 123 ms 1092 KB
subtask_01_13.txt AC 112 ms 1056 KB
subtask_01_14.txt AC 26 ms 1184 KB
subtask_01_15.txt AC 132 ms 1056 KB
subtask_01_16.txt AC 124 ms 1064 KB
subtask_01_17.txt AC 123 ms 1056 KB
subtask_01_18.txt AC 109 ms 1172 KB