Submission #343337

#TimeUsernameProblemLanguageResultExecution timeMemory
343337benedict0724One-Way Streets (CEOI17_oneway)C++17
30 / 100
11 ms640 KiB
#include <bits/stdc++.h> using namespace std; vector<int> adj[1002]; pair<int, int> road[1002]; pair<int, int> haveTo[1002]; int subOf[1002]; bool visited[1002]; bool poss = false; void dfs(int x, int s, int e){ visited[x] = true; if(x == e){ poss = true; return; } subOf[x] = 1; for(auto u : adj[x]){ if(!visited[u] && (x != s || u != e)){ dfs(u, s, e); } if(poss) return; } } int main() { int n, m; scanf("%d %d", &n, &m); for(int i=1;i<=m;i++){ int s, e; scanf("%d %d", &s, &e); adj[s].push_back(e); adj[e].push_back(s); road[i] = {s, e}; } int p; scanf("%d", &p); for(int i=1;i<=p;i++){ int s, e; scanf("%d %d", &s, &e); haveTo[i] = {s, e}; } for(int i=1;i<=m;i++){ int s = road[i].first, e = road[i].second; bool toL = true, toR = true; fill(visited, visited + 1002, false); fill(subOf, subOf + 1002, 0); poss = false; int cnt = 0; for(auto u : adj[s]){ if(u == e) cnt++; } if(cnt > 1){ printf("B"); continue; } dfs(s, s, e); if(poss){ printf("B"); } else{ for(int j=1;j<=p;j++){ if(subOf[haveTo[j].first] == 1 && subOf[haveTo[j].second] == 0){ toL = false; } if(subOf[haveTo[j].first] == 0 && subOf[haveTo[j].second] == 1){ toR = false; } } if(toL && toR) printf("B"); else if(toL) printf("L"); else printf("R"); } } }

Compilation message (stderr)

oneway.cpp: In function 'int main()':
oneway.cpp:30:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   30 |     scanf("%d %d", &n, &m);
      |     ~~~~~^~~~~~~~~~~~~~~~~
oneway.cpp:33:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   33 |         scanf("%d %d", &s, &e);
      |         ~~~~~^~~~~~~~~~~~~~~~~
oneway.cpp:39:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   39 |     scanf("%d", &p);
      |     ~~~~~^~~~~~~~~~
oneway.cpp:42:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   42 |         scanf("%d %d", &s, &e);
      |         ~~~~~^~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...