// DFS.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <iostream>
#include <vector>
using namespace std;
bool isconnected(vector<vector<int>>);
void DFS(vector<vector<int>>,int );
vector<bool>  visited;
int _tmain(int argc, _TCHAR* argv[])
{
   int Vnumber = 6                              //图的顶点个数
   vector<vector<int>>  G(Vnumber);  
   for(int i=0;i<G.size();i++)                //输入图的连接关系
                                                           //从0开始直到最后一个 ,图用邻接表的形式存储 
   {
               
            while(true)                                    //输入你要判断的图 输完一个顶点 输入1000,
      {                                                           //然后开始下一个顶点的邻居输入
              int n;
        cin>>n;
        if(n==1000)          
        {
         cout<<"next"<<endl;
         break;
        }
        G[i].push_back(n);
     
      }
   }
   bool flag = isconnected(G);
   if(flag ==true)
    cout<<"connected"<<endl;
 
 return 0;
}

bool isconnected(vector<vector<int>> G)
{
 for(int i=0;i<G.size();i++)
 {
  visited.push_back(false);
 }
 
 int v = 0;                                         // 从0开始搜索,如果能遍访所有顶点 则说明连通
 DFS(G,v);
 bool flag = true;
 for(int i=0;i<visited.size();i++)
 {
   if(visited[i] == false)
    flag = false;
 
 }
   
 return flag;
 

}

void DFS(vector<vector<int>> G, int v)                    
{
    visited[v] = true;
 int m = G[v].size();
 int n = 0;
 for(int w = G[v][0];n<m;w = G[v][n])
 {
            n = n+1;
      if(visited[w] == false)
       DFS(G,w);
      if(n==m)
       break;
 
 }
 
}