#14712: c 答案加註解


blackconqueror (boweichen)


#include <stdio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */

int main(void) {
int n;
while(scanf("%d",&n)!=EOF){
int i,Friend[n],Find[n],sum=0;//sum為有幾個小團體
for(i=0;i<n;i++) Find[i]=0;//有無找過 0沒找過 1有找過
for(i=0;i<n;i++) scanf("%d",&Friend[i]);
for(i=0;i<n;i++){
if(Find[i]==0){//沒找過的話
int index=i;//這裡大概的意思是用陣列裡的值去當作元素編號
do{
Find[index]=1;
index=Friend[index];
}while(Friend[index]!=i);//找完一圈
Find[index]=1;//記的最後一個要標記已找過
sum++;
}
}
printf("%d\n",sum);
}


return 0;
}

#14713: Re:c 答案加註解


asnewchien@gmail.com (david)


出題者絞盡腦汁,出一些題目讓大家練習,

你卻直接把解法貼出來

你到底在想什麼。



#14752: Re:c 答案加註解


james.liu841@gmail.com (小貓貓)


出題者絞盡腦汁,出一些題目讓大家練習,

你卻直接把解法貼出來

你到底在想什麼。






貼答案給要抄的人抄阿,要練習的自己會練

#22263: Re:c 答案加註解


407473377 (MilkyCat)


出題者絞盡腦汁,出一些題目讓大家練習,

你卻直接把解法貼出來

你到底在想什麼。






貼答案給要抄的人抄阿,要練習的自己會練

呵呵