Submission #1139686

#TimeUsernameProblemLanguageResultExecution timeMemory
1139686tone_alexandruMonthly railway pass (LMIO18_menesinis_bilietas)C++20
0 / 100
3 ms832 KiB
#include <bits/stdc++.h> using namespace std; vector<pair<int, char>> adj[10005]; queue<int> q; bool saveT[10005], saveA[10005]; int minim[10005]; int main() { int n, m; cin>>n>>m; int a, b; char type; for(int i=0; i<m; i++) { cin>>a>>b>>type; adj[a].push_back({b, type}); adj[b].push_back({a, type}); } int cnt = 0; for(int i=1; i<=n; i++) { for(int i=1; i<=n; i++) minim[i] = 21e8, saveA[i] = 0, saveT[i] = 0; minim[i] = 0; q.push(i); while(q.empty() == false) { int nod = q.front(); q.pop(); saveT[nod] = 1; saveA[nod] = 1; for(auto x : adj[nod]) { int type = x.second; if(type == 'T' && saveT[x.first] == 0 && minim[x.first] > minim[nod]) { minim[x.first] = minim[nod]; saveT[x.first] = 1; q.push(x.first); } else if(type == 'A' && saveA[x.first] == 0 && minim[x.first] > minim[nod] + 1) { minim[x.first] = minim[nod] + 1; saveA[x.first] = 1; q.push(x.first); } } } int ok = 0; for(int j=1; j<=n; j++) { //cout<<j<<" "<<minim[j]<<'\n'; if(minim[j] > 1) { ok = 1; //break; } } //cout<<'\n'; if(ok == 0) cnt++; } cout<<cnt; return 0; }
#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...