Advertisement
Guest User

Untitled

a guest
Jan 21st, 2020
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int MAX=100;
  5. int G[MAX][MAX],n,k,i,j,S[MAX],maxk=0;
  6. int ok(int i)
  7. {
  8.     if(i>1&&S[i-1]>=S[i])
  9.         return 0;
  10.     for(j=1;j<i;j++)
  11.         if(G[S[i]][S[j]]==0)
  12.             return 0;
  13.     return 1;
  14. }
  15. int main()
  16. {
  17.     ifstream fin("serbare2.in");
  18.     ofstream fout("serbare2.out");
  19.     fin>>n>>k;
  20.     for(i=1;i<=n;i++)
  21.         for(j=1;j<=n;j++)
  22.             fin>>G[i][j];
  23.     i=1;
  24.     S[i]=0;
  25.     while(i>0)
  26.         if(S[i]<n)
  27.         {
  28.             S[i]++;
  29.             if(ok(i))
  30.             {
  31.                 if(k==i)
  32.                 {
  33.                     maxk=i;
  34.                     break;
  35.                 }
  36.                 else
  37.                 {
  38.                     maxk=maxk<i?i:maxk;
  39.                     S[++i]=0;
  40.                 }
  41.             }
  42.         }
  43.         else i--;
  44.     fout << maxk << "\n";
  45.     fin.close();
  46.     fout.close();
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement