Untitled
unknown
plain_text
2 years ago
1.2 kB
11
Indexable
#include<iostream>
using namespace std;
int t,n,m,x;
class queue{
int front; int rear; int arr[1000];
public:
queue(){
rear=-1;
front=-1;
}
void push(int a){
rear++;
arr[rear]=a;
}
void pop(){
front++;
}
int peek(){
return arr[front+1];
}
bool isempty(){
return (front==rear);
}
void reset(){
rear=-1;
front=-1;
}
};
queue q;
int mang[1001][1000];
bool visited[1001],flag;
int bfs(int a){
q.push(a);
visited[a]=true;
while(!q.isempty()){
int b=q.peek();
q.pop();
for(int i=1;i<=mang[b][0];i++){
if(visited[mang[b][i]]) return 1;
else {
visited[mang[b][i]]=true;
q.push(i);
}
}
}
return 0;
}
int main(){
freopen("input.txt","r",stdin);
cin >> t;
for(int tc=1;tc<=t;tc++){
cin >> n;
for(int i=1;i<=n;i++){
cin >> mang[i][0];
for(int j=1;j<=mang[i][0];j++) cin >> mang[i][j];
}
flag=false;
for(int i=1;i<=n;i++){
q.reset();
for(int i=1;i<=n;i++) visited[i]=false;
if(bfs(i)==1){
flag=true;
break;
}
}
if(flag) cout << "Yes" << endl;
else cout << "No" << endl;
}
return 0;
}Editor is loading...
Leave a Comment