제출 #642995

#제출 시각아이디문제언어결과실행 시간메모리
642995CyberSleeperMonthly railway pass (LMIO18_menesinis_bilietas)C++17
100 / 100
666 ms102912 KiB
#include <bits/stdc++.h> using namespace std; const int MX=500007; int N, M, group[MX], sz[MX], cnt_group, ans; vector<int> bus[MX], tr[MX]; set<int> adj[MX]; void DFS(int x){ group[x]=cnt_group; sz[cnt_group]++; for(int i:tr[x]){ if(group[i]) continue; DFS(i); } } int main(){ cin >> N >> M; for(int i=0; i<M; i++){ int u, v; char w; cin >> u >> v >> w; if(u == v) continue; if(w == 'A'){ bus[u].push_back(v); bus[v].push_back(u); }else{ tr[u].push_back(v); tr[v].push_back(u); } } for(int i=1; i<=N; i++){ if(!group[i]){ cnt_group++; DFS(i); } } for(int i=1; i<=N; i++){ for(int j:bus[i]){ if(group[i] != group[j]) adj[group[i]].insert(group[j]); } } for(int i=1; i<=N; i++){ if(adj[i].size()==cnt_group-1) ans+=sz[i]; } cout << ans << endl; }

컴파일 시 표준 에러 (stderr) 메시지

menesinis_bilietas.cpp: In function 'int main()':
menesinis_bilietas.cpp:49:25: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   49 |         if(adj[i].size()==cnt_group-1)
      |            ~~~~~~~~~~~~~^~~~~~~~~~~~~
#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...