#36080: 我自己測是對的,放上來卻是錯的


okily961226@gmail.com (歐科利)

學校 : 不指定學校
編號 : 234435
來源 : [114.32.106.234]
最後登入時間 :
2023-09-16 20:32:34

#include<iostream>
#include<cstdlib>
using namespace std;
int main (){
    int n,f,sum,num=0;
    cin >> n;
    int friends[n-1],flag[n-1];
    for (int j=0;j<n;j++){
        cin >> f;
        friends[j]=f;
    }
    for (int j=0;j<n;j++){
        flag[j]=0;
    }
    for (int i=0;i<n;i++){
        num=i;
        if(flag[num]==0){
            while(flag[num]!=1){
                flag[num]=1;
                num=friends[num];
                if (flag[num]==1){
                    sum++;
                }
            }
        }
    }
    cout << sum;
    return 0;
}

#36085: Re: 我自己測是對的,放上來卻是錯的


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.12.66.21]
最後登入時間 :
2025-04-20 17:19:22

#include
#include
using namespace std;
int main (){
    int n,f,sum,num=0;
    cin >> n;
    int friends[n-1],flag[n-1];
    for (int j=0;j
        cin >> f;
        friends[j]=f;
    }
    for (int j=0;j
        flag[j]=0;
    }
    for (int i=0;i
        num=i;
        if(flag[num]==0){
            while(flag[num]!=1){
                flag[num]=1;
                num=friends[num];
                if (flag[num]==1){
                    sum++;
                }
            }
        }
    }
    cout << sum;
    return 0;
}


我怕被質疑貼程式碼,所以傳私人訊息給你了