fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define REP(i,n) for(int i=0;i<(n);i++)
  5.  
  6. int main(){
  7. int n,m,q;cin>>n>>m>>q;
  8. vector<vector<long long>> v(n),g(n);
  9. REP(i,m){
  10. int a,b;cin>>a>>b;a=n-a;b=n-b;
  11. g[a].push_back(b);
  12. }
  13. REP(i,n){
  14. v[i].resize(i/64+1,0);
  15. v[i][i/64]=1LL<<(i%64);
  16. for(int p:g[i])REP(j,v[p].size())v[i][j]|=v[p][j];
  17. }
  18. REP(_,q){
  19. int a,b;cin>>a>>b;a=n-a;b=n-b;
  20. cout<<(v[a][b/64]&(1LL<<(b%64))?"Yes":"No")<<"\n";
  21. }
  22. }
  23.  
Success #stdin #stdout 0.01s 5528KB
stdin
6 6 3
1 3
2 4
1 4
4 6
5 6
1 5
2 6
1 5
3 6
stdout
Yes
Yes
No