解题思路:
注意事项:
参考代码:
#include<iostream> #include<cstring> #include<algorithm> #include<cmath> #include<vector> #define F(i,j,k) for(int i = j; i < k; ++i) #define R(i,j,k) for(int i = j; i >= k; --i) #define ct cout<< #define kg <<' '<< #define ed <<endl #define ve vector #define N 100005 #define p1 p.first #define p2 p.second using namespace std; int n,m,x,y; ve<int> d[N];ve<pair<int ,int>>q[N]; bool ans[N],vis[N]; void check(int node){ for(auto &p : q[node]){ if(vis[p1]){ ans[p2] = 1; } } } void dfs(int node){ vis[node] = 1; check(node); for(int &i : d[node]){ dfs(i); } vis[node] = 0; } int main(){ios::sync_with_stdio(0),cin.tie(0); cin>>n>>m; F(i,1,n){ cin>>x>>y; d[x].push_back(y); } F(i,0,m){ cin>>x>>y; q[y].push_back({x,i}); } dfs(1); F(i,0,m){ if(ans[i])printf("YES\n"); else printf("NO\n"); } return 0; }
0.0分
4 人评分
九宫重排 (C++代码)浏览:2160 |
C语言程序设计教程(第三版)课后习题4.9 (C语言代码)浏览:1523 |
回文串 (C语言代码)浏览:2859 |
字符串问题 (C语言代码)浏览:1521 |
C语言程序设计教程(第三版)课后习题1.6 (C++代码)浏览:902 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:585 |
WU-蓝桥杯算法提高VIP-交换Easy (C++代码)浏览:1119 |
简单的a+b (C语言代码)浏览:528 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1341 |
【矩阵】 (C++代码)浏览:950 |