Submission #722783

#TimeUsernameProblemLanguageResultExecution timeMemory
722783groshiMonthly railway pass (LMIO18_menesinis_bilietas)C++17
100 / 100
472 ms55780 KiB
#include<bits/stdc++.h> using namespace std; struct wi{ vector<int> Q,inne; int odw=0,byl=0; }*w; set<int> secik; int mam=1; void reku(int x) { w[x].odw=mam; for(int i=0;i<w[x].Q.size();i++) { int pom=w[x].Q[i]; if(w[pom].odw) continue; reku(pom); } } int wiel=0; void reku2(int x) { w[x].byl=1; wiel++; for(int i=0;i<w[x].inne.size();i++) secik.insert(w[w[x].inne[i]].odw); for(int i=0;i<w[x].Q.size();i++) { int pom=w[x].Q[i]; if(w[pom].byl) continue; reku2(pom); } } int32_t main() { cin.tie(0); cout.tie(0); ios_base::sync_with_stdio(0); int n,m,x,y; char co; cin>>n>>m; w=new wi[n+3]; for(int i=1;i<=m;i++) { cin>>x>>y>>co; if(co=='T') { w[x].Q.push_back(y); w[y].Q.push_back(x); } else{ w[x].inne.push_back(y); w[y].inne.push_back(x); } } for(int i=1;i<=n;i++) if(w[i].odw) continue; else{ reku(i); mam++; } int wynik=0; for(int i=1;i<=n;i++) { if(w[i].byl) continue; secik.clear(); wiel=0; reku2(i); secik.insert(w[i].odw); if(secik.size()==mam-1) wynik+=wiel; } cout<<wynik; return 0; }

Compilation message (stderr)

menesinis_bilietas.cpp: In function 'void reku(int)':
menesinis_bilietas.cpp:13:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i=0;i<w[x].Q.size();i++)
      |                 ~^~~~~~~~~~~~~~
menesinis_bilietas.cpp: In function 'void reku2(int)':
menesinis_bilietas.cpp:26:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |     for(int i=0;i<w[x].inne.size();i++)
      |                 ~^~~~~~~~~~~~~~~~~
menesinis_bilietas.cpp:28:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |     for(int i=0;i<w[x].Q.size();i++)
      |                 ~^~~~~~~~~~~~~~
menesinis_bilietas.cpp: In function 'int32_t main()':
menesinis_bilietas.cpp:74:24: warning: comparison of integer expressions of different signedness: 'std::set<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   74 |         if(secik.size()==mam-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...