11. ORIVIRUS 소스 코드.
#include <stdio.h>
int a[110][110], data[110], chk[110], chk2[110];
int n;
int main()
{
int testcase, x, y, edge;
int i, j, k, cnt;
scanf("%d", &testcase);
while(testcase >= 1)
{
--testcase;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)
{
scanf("%d", &x);
if(x==1)
{
a[i][0]++;
a[i][a[i][0]]=j;
}
}
}
scanf("%d", &edge);
for(i=1; i<=edge; i++)
{
scanf("%d %d", &x, &y);
data[1]=x; data[2]=y; cnt=2;
chk2[x]=chk2[y]=1;
for(j=1; j<=cnt; j++)
{
for(k=1; k<=a[data[j]][0]; k++)
{
chk[a[data[j]][k]]++;
if(chk[a[data[j]][k]]==2 && !chk2[a[data[j]][k]])
{
data[++cnt]=a[data[j]][k];
chk2[a[data[j]][k]]=1;
}
}
}
printf("%d ", cnt);
for(j=1; j<=n; j++) data[j]=chk2[j]=chk[j]=0;
}
for(i=1; i<=n; i++) a[i][0]=0;
printf("\n");
}
return 0;
}
'알고스팟 풀이 > 알고스팟 소스' 카테고리의 다른 글
12. STARCRAFT (0) | 2015.06.24 |
---|---|
13. FESTIVAL (0) | 2015.06.24 |
14. TRIANGLEPATH (0) | 2015.06.24 |
15. LIS (0) | 2015.06.24 |