fork download
  1. #include <iostream>
  2. #include <vector>
  3. #include <string.h>
  4. using namespace std;
  5. int n,m;
  6. vector<int> v[2001];
  7. int visited[2001];
  8. int flag = 0;
  9. void dfs(int node, int level){
  10. if(visited[node]==1) return ;
  11. if(level==5){
  12. flag = 1;
  13. return ;
  14. }
  15. visited[node] = 1;
  16. for(int i=0;i<v[node].size();i++){
  17. int next = v[node][i];
  18. if(visited[next]==1) continue;
  19. dfs(next,level+1);
  20. if(flag==1) return ;
  21. }
  22. }
  23. int main() {
  24. scanf("%d %d",&n,&m);
  25. for(int i=0;i<m;i++){
  26. int a,b; scanf("%d %d",&a,&b);
  27. v[a].push_back(b);
  28. v[b].push_back(a);
  29. }
  30. for(int i=0;i<n;i++){
  31. memset(visited,0,sizeof(visited));
  32. dfs(i,1);
  33. if(flag==1){
  34. cout<<"1";
  35. break;
  36. }
  37. }
  38. if(flag==0) cout<<"0";
  39. return 0;
  40. }
Success #stdin #stdout 0s 4928KB
stdin
6 5
0 1
0 2
0 3
0 4
0 5
stdout
Standard output is empty