HDOJ2270(How Many Friends Will Be Together With You)

#include <iostream>
using namespace  std;

const int MAX = 1000005
;

int
 fr[MAX];

int
 main()
{
    
int
 n, i, tt, sum;
    
while(cin>>
n)
    
{
        
for(i = 1; i <= n; i++
)
            fr[i] 
= i;//
初始化,一开始每个都是独立的,并无朋友
                      
//下标表示第i个人,后一个i表示第i个人属于i集合

        for(i = 1; i <= n; i++)
        
{
            cin
>>
tt;
            fr[tt] 
=
 fr[i];
            
//i找tt作朋友,tt并入i所在的集合

        }

        sum 
= 0;
        
for(i = 2; i <= n; i++
)
            
if(fr[i] == fr[1
])
                sum
++
;
        cout
<<sum<<
endl;

    }

    
return 0;
}

你可能感兴趣的:(with)