トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

2020db3.cpp

#include<stdio.h>

int main(void){

int m,n,p;
int flag[100]; //i番目の人が感染していたら、flag[i-1]に1を代入する
int count;
int x,y,i;

while(1){
	scanf("%d" "%d" "%d",&m,&n,&p);
	
	if( (m==0) && (n==0) && (p==0) ){
		break;
	}
	
	
	for(i=0; i<100; i++){
		flag[i] = 0;
	}
	
	
	flag[p-1]=1;
	count=0;
	
	for(i=0; i<n; i++){
		
		scanf("%d %d",&x,&y);
		
		if(flag[x-1] == 1){
			flag[y-1]=1;
		}
		
		if(flag[y-1]==1){
			flag[x-1]=1;
		}
	}
	
	for(i=0; i<100; i++){
		if(flag[i] != 0){
			count++;
		}
	}
	
	printf("%d\n",count);
	
	
}

return 0;
	
}