题解 | 旺仔哥哥走迷宫
旺仔哥哥走迷宫
https://www.nowcoder.com/practice/4b4ee516c23d4bd2b838646363b5c395
#include <iostream>
#include <vector>
using namespace std;
const int N=1e5+5;
int n,m;
int t[N];
vector<int> g[N];
string ans="No";
bool v[N];
void f(int i){
if(v[i]) return;
if(t[i]) return;
if(i==n){ ans="Yes";return;}
v[i]=true;
if(g[i].size()){
for(int j:g[i]){
f(j);
}
}
}
int main() {
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>t[i];
for(int i=0;i<m;i++){
int a,b;cin>>a>>b;
g[a].push_back(b);
g[b].push_back(a);
}
f(1);
cout<<ans;
}
// 64 位输出请用 printf("%lld")
查看13道真题和解析