제출 #1296146

#제출 시각아이디문제언어결과실행 시간메모리
1296146AhmadAlhussain새로운 문제 (POI13_mor)C++20
20 / 100
539 ms196608 KiB
#include<iostream> #include<vector> #include<set> #include<map> #include<unordered_map> #include<algorithm> #include<bitset> #include<queue> #include<numeric> #include<climits> #include<cstring> #include<cmath> #include<cstdlib> #include<cstdint> #include<algorithm> //#define int long long using namespace std; const int N=2005; int n,m,k; int dp[N][N]; int dp1[N][N]; vector<int>v[N]; int cnt[N]; void bfs(int start) { int vis[n+5]; int vis1[n+5]; for(int i=1;i<=n;i++) { dp[start][i]=-1; vis[i]=0; vis1[i]=0; } queue<pair<int,int>>q; q.push({0,start}); while(q.size()) { auto k=q.front(); cnt[k.second]++; q.pop(); if(!(k.first&1)) { if(vis[k.second]) { continue; } vis[k.second]=1; dp[start][k.second]=k.first; } else { if(vis1[k.second]) { continue; } vis1[k.second]=1; dp1[start][k.second]=k.first; } for(int i:v[k.second]) { q.push({k.first+1,i}); } } } signed main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>m>>k; for(int i=0;i<m;i++) { int a,b; cin>>a>>b; v[a].push_back(b); v[b].push_back(a); } for(int i=1;i<=n;i++) { bfs(i); } for(int i=0;i<k;i++) { int s,t,d; cin>>s>>t>>d; if(cnt[s]==1||cnt[t]==1&&d>0) { cout<<"NIE\n"; continue; } if(!(d&1)) { if(dp[s][t]!=-1&&dp[s][t]<=d) { cout<<"TAK\n"; } else { cout<<"NIE\n"; } } else { if(dp1[s][t]!=-1&&dp1[s][t]<=d) { cout<<"TAK\n"; } else { cout<<"NIE\n"; } } } }
#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...