Submission #420180
Source Code Expand
#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 Info
Submission Time | |
---|---|
Task | B - Union Find |
User | mikecat |
Language | C (GCC 4.9.2) |
Score | 100 |
Code Size | 1178 Byte |
Status | AC |
Exec Time | 142 ms |
Memory | 1184 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | 00_sample_01.txt |
All | 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 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
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 |