제출 #639614

#제출 시각아이디문제언어결과실행 시간메모리
639614SofiatpcMonthly railway pass (LMIO18_menesinis_bilietas)C++14
30 / 100
3090 ms37364 KiB
#include <bits/stdc++.h> using namespace std; #define pb push_back #define fi first #define sc second const int MAXN = 500005; vector< pair<int,int> > adj[MAXN]; int qtd[MAXN], visQtd; void dfs(int S, int o) { if(qtd[S]==-1)visQtd++; qtd[S]=o; for(int i = 0; i < (int)adj[S].size(); i++) { int viz = adj[S][i].fi, tipo = adj[S][i].sc; if(qtd[viz]>=qtd[S])continue; if(tipo==1) { if(o==0)continue; dfs(viz,0); } else dfs(viz,o); } return; } int main() { int N,M; cin>>N>>M; for(int i = 1; i <= M; i++) { char c; int x,y,t=0; cin>>x>>y>>c; if(c=='A')t=1; adj[x].pb({y,t}); adj[y].pb({x,t}); } int ans = 0; for(int s = 1; s <= N; s++) { for(int i = 1; i <= N; i++)qtd[i]=-1; visQtd=0; dfs(s,1); if(visQtd==N)ans++; } cout<<ans<<"\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...