Submission #397868

#TimeUsernameProblemLanguageResultExecution timeMemory
397868cfalasStations (IOI20_stations)C++14
0 / 100
1 ms328 KiB
#include "stations.h" #include<bits/stdc++.h> using namespace std; #define mp make_pair #define INF 10000000 #define MOD 1000000007 #define MID ((l+r)/2) #define HASHMOD 2305843009213693951 #define ll long long #define ull unsigned long long #define F first #define S second typedef pair<ll, ll> ii; typedef pair<ii, int> iii; typedef vector<int> vi; typedef vector<ii> vii; typedef map<int, int> mii; #define EPS 1e-6 #define FOR(i,n) for(int i=0;i<((int)(n));i++) #define FORi(i,a,b) for(int i=((int)(a));i<((int)(b));i++) #define FOA(v, a) for(auto v : a) vector<vi> adj; vi labels; int cnt=0; vi sub; int d = 0; void dfs(int s, int p=-1){ d++; labels[s] = cnt; cout<<"enter "<<s<<" "<<cnt<<endl; for(auto v : adj[s]) if(v!=p) cnt++, dfs(v, s), sub[s]+=sub[v]; cnt++; labels[s]=labels[s]*1000 + cnt; cout<<"leave "<<s<<" "<<cnt<<endl; d--; } vi label(int n, int k, std::vector<int> u, std::vector<int> v) { cnt = 0; adj.assign(n, vi()); sub.assign(n, 1); labels.assign(n, 0); FOR(i,n-1){ adj[u[i]].push_back(v[i]); adj[v[i]].push_back(u[i]); } dfs(0); //FOR(i,n) cout<<labels[i]<<" "<<sub[i]<<endl; //FOR(i,n) labels[i] = (labels[i]<<10) + sub[i]; FOA(v, labels) cout<<v<<" "; cout<<endl; return labels; } int get_s(int x){ return x % (1000); } int find_next_station(int s, int t, std::vector<int> c) { //cout<<s<<" "<<t<<endl; int lt = t/1000; int sin = s/1000; FOA(x, c){ if((x/1000)<sin) continue; int xin = x/1000; int xout = x%1000; if(xin<=lt && lt<=xout) return x; } return *min_element(c.begin(), c.end()); }

Compilation message (stderr)

stations.cpp: In function 'vi label(int, int, std::vector<int>, std::vector<int>)':
stations.cpp:22:19: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   22 | #define FOA(v, a) for(auto v : a)
      |                   ^~~
stations.cpp:53:2: note: in expansion of macro 'FOA'
   53 |  FOA(v, labels) cout<<v<<" "; cout<<endl;
      |  ^~~
stations.cpp:53:31: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   53 |  FOA(v, labels) cout<<v<<" "; cout<<endl;
      |                               ^~~~
#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...