2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어
www.acmicpc.net
[ 백준 2606(바이러스) 스택을 1차원 배열로 구현해서 풀이 ]
#include <cstdio>
int main()
{
int i,n,m,a,b,ans=0;
int stack[101],top=0;
bool check[101]={false, };
bool d[101][101] = {false, };
scanf("%d", &n);
scanf("%d", &m);
for(i=0;i<m;i++)
{
scanf("%d %d", &a, &b);
d[a][b] = true;
d[b][a] = true;
}
check[1]=true;
stack[top]=1;
top++;
do{
a=stack[top-1];
top--;
if(top < 0)
{
break;
}
for(i=1;i<=n;i++)
{
if(check[i] == false && d[a][i] )
{
stack[top]=i;
top++;
check[i]=true;
}
}
}while(1);
for(i=2;i<=n;i++)
{
if(check[i])
ans++;
}
printf("%d", ans);
return 0;
}
'백준 문제풀이' 카테고리의 다른 글
백준 3184번 - 양 소스 코드 (0) | 2021.03.08 |
---|---|
백준 16948번 - 데스 나이트 소스 코드 (0) | 2021.03.07 |
백준 1260번 DFS와 BFS (0) | 2021.03.03 |
백준 1916번 - 최소비용 구하기 소스 코드 - 우선순위 큐 (0) | 2021.02.22 |
백준 1929번 - 소수구하기 (0) | 2020.07.12 |