Submission #1234414

#TimeUsernameProblemLanguageResultExecution timeMemory
1234414ereringTales of seafaring (POI13_mor)C++20
0 / 100
85 ms196608 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define endl '\n' #define int long long const int N=5000+5,inf=2e18,MOD=1e9+7; vector<int> adj[N]; int dist[N][N][2]; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); for(int i=0;i<N;i++){ for(int j=0;j<N;j++){ dist[i][j][0]=inf; dist[i][j][1]=inf; } } int n,m,q; cin>>n>>m>>q; for(int i=0;i<m;i++){ int x,y; cin>>x>>y; adj[x].pb(y); adj[y].pb(x); } for(int i=1;i<=n;i++){ dist[i][i][0]=0; queue<pair<int,int>> bfs; bfs.push({i,0}); while(!bfs.empty()){ int node=bfs.front().first,type=bfs.front().second; // cout<<i<<' '<<node<<endl; bfs.pop(); type++; for(auto j:adj[node]){ if(dist[i][j][type%2]==inf){ bfs.push({j,type}); dist[i][j][type%2]=type; } } } } while(q--){ int x,y,d; cin>>x>>y>>d; if(x==y && d%2==0 && adj[x].empty()){ cout<<"NIE"<<endl; continue; } if(dist[x][y][d%2]<=d)cout<<"TAK"<<endl; else cout<<"NIE"<<endl; } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...