1122 Hamiltonian Cycle (25 分)
程序员文章站
2022-03-01 13:36:50
...
第一次提交居然通过了。
#include <cstdio>
#include <vector>
#include <iostream>
#include <set>
using namespace std;
int G[210][210];
void exec(){
int N,M;cin>>N>>M;
int a,b;
for(int i=0;i<M;i++){
cin>>a>>b;
G[a][b]=1;
G[b][a]=1;
}
int K;cin>>K;
while(K--){
int n;cin>>n;
vector<int> v(n);
set<int> s;
for(int i=0;i<n;i++){
cin>>v[i];
s.insert(v[i]);
}
if(n!=N+1||v[0]!=v[n-1]||s.size()!=N)cout<<"NO"<<endl;
else{
bool flag=true;
for(int i=0;i<n-1;i++){
if(G[v[i]][v[i+1]]==0){
flag=false;
break;
}
}
if(flag){
cout<<"YES"<<endl;
}else{
cout<<"NO"<<endl;
}
}
}
}
int main(){
freopen("data.in","r",stdin);
exec();
return 0;
}
题意:
汉密尔顿回路:包含图上每个顶点的简单路径。
给个图,判断是不是汉密尔顿回路。
符合pat出题一贯的方向,有点难的算法题不让你算,让你验证。
推荐阅读
-
PAT 甲级 1122. Hamiltonian Cycle (25)
-
【PAT】1122. Hamiltonian Cycle (25)
-
PAT甲1122 Hamiltonian Cycle(25 分)
-
[Python](PAT)1122 Hamiltonian Cycle(25 分)
-
A1122 Hamiltonian Cycle (25 分| 图论,附详细注释,逻辑分析)
-
PAT 1122 Hamiltonian Cycle
-
PAT (Advanced Level) Practice - 1122 Hamiltonian Cycle(25 分)
-
PAT甲级 1122. Hamiltonian Cycle (25)
-
1122 Hamiltonian Cycle (25 分)
-
1122 Hamiltonian Cycle (25 分)