返回列表 發帖

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int main()
  5. {
  6.     int k,f,g=0,start;
  7.     cin>>k;
  8.     int a[k], b[k];
  9.     for(int i = 0; i < k; i++)
  10.     {
  11.        cin>>a[i];
  12.        b[i]=0;
  13.     }
  14.     for(int i = 0; i < k; i++)
  15.     {
  16.         if(b[i] == 0)
  17.         {
  18.             start = i;
  19.             f = a[i];
  20.             b[i]=1;
  21.             while(start != f)
  22.             {
  23.                 b[f]=1;
  24.                 f=a[f];
  25.             }
  26.             g++;
  27.         }
  28.     }
  29.     cout<<g;
  30.     return 0;
  31. }
複製代碼
https://www.facebook.com/DABRiXPERT6584

TOP

  1. #include <string>
  2. #include <iostream>

  3. using namespace std;

  4. int main()
  5. {
  6.     int n, start, frd;
  7.     cin>>n;
  8.     int a[n];
  9.     int b[n];
  10.     for(int i = 0; i < n; i++)
  11.     {
  12.         cin>>a[i];
  13.         b[i]=0;
  14.         
  15.     }
  16.     int g = 0;
  17.     for(int i = 0; i < n; i++)
  18.     {
  19.         if(b[i] == 0)
  20.         {
  21.             b[i] = 1;
  22.             start = i;
  23.             frd = a[i];
  24.             while(start != frd)
  25.             {
  26.                 b[frd] = 1;
  27.                 frd = a[frd];
  28.             }
  29.             g++;
  30.         }
  31.     }
  32.     cout<<g<<endl;
  33.     return 0;
  34. }
複製代碼

TOP

返回列表