#include <stdio.h>
int p[100];int q[100][2];int k=1;void ff(int a,int d){ int e; int f; int s=0; for(e=0;e<d;e++) { if(q[e][0]!=q[e][1]) {if(q[e][0]==a) {for(f=0;f<k;f++) {if(p[f]==q[e][1])s++;} if(s==0) {p[k]=q[e][1]; k++;}} s=0; if(q[e][1]==a) { for(f=0;f<k;f++) {if(p[f]==q[e][0]) s++;} if(s==0) {p[k]=q[e][0]; k++;}} s=0;} }}int main(void){ int a; scanf("%d",&a); int d; scanf("%d",&d); int e; for(e=0;e<d;e++) { scanf("%d",&q[e][0]); scanf("%d",&q[e][1]); } p[0]=1; int u=0; int j=0; while(u!=k) { u=k; ff(p[j],d); j++; } printf("%d",k-1); return 0;}
코드를 이렇게 짜고 제가 생각한 예시들을 다 돌려봤는데도 틀렸다고 뜨네요... 고수님들 해답좀....
수정해서 맞았습니다!
댓글을 작성하려면 로그인해야 합니다.
dtc03012 5년 전
#include <stdio.h>
int p[100];
int q[100][2];
int k=1;
void ff(int a,int d)
{
int e;
int f;
int s=0;
for(e=0;e<d;e++)
{
if(q[e][0]!=q[e][1])
{if(q[e][0]==a)
{for(f=0;f<k;f++)
{if(p[f]==q[e][1])s++;}
if(s==0)
{p[k]=q[e][1];
k++;}}
s=0;
if(q[e][1]==a)
{
for(f=0;f<k;f++)
{if(p[f]==q[e][0])
s++;}
if(s==0)
{p[k]=q[e][0];
k++;}}
s=0;}
}
}
int main(void)
{
int a;
scanf("%d",&a);
int d;
scanf("%d",&d);
int e;
for(e=0;e<d;e++)
{
scanf("%d",&q[e][0]);
scanf("%d",&q[e][1]);
}
p[0]=1;
int u=0;
int j=0;
while(u!=k)
{
u=k;
ff(p[j],d);
j++;
}
printf("%d",k-1);
return 0;
}
코드를 이렇게 짜고 제가 생각한 예시들을 다 돌려봤는데도 틀렸다고 뜨네요... 고수님들 해답좀....