Submission #257531

#TimeUsernameProblemLanguageResultExecution timeMemory
257531mhy908Snowy Roads (JOI16_snowy)C++14
100 / 100
25 ms1556 KiB
#include "Anyalib.h" #include <bits/stdc++.h> #define eb emplace_back #define mp make_pair #define F first #define S second using namespace std; typedef long long LL; typedef pair<int, int> pii; static int getL; static int n, MAXD=10, re; static int buc[510], sz[510], cnt[510]; static vector<pii> link[510]; static void dfs(int num, int par){ sz[num]=1; if(par==-1)buc[num]=++re; for(auto i:link[num]){ if(i.F==par)continue; dfs(i.F, num); sz[num]+=sz[i.F]; } if(sz[num]>=10&&par>=0)buc[num]=++re, sz[num]=0; } void InitAnya(int N, int A[], int B[]){ n=N; for(int i=0; i<n-1; i++){ link[A[i]].eb(B[i], i+1); link[B[i]].eb(A[i], i+1); } dfs(0, -1); } static void dfs2(int num, int par, int dis){ if(buc[num]){ int tmp=dis; for(int i=buc[num]*9-9; i<buc[num]*9; i++){ assert(i<=500); Save(i, tmp%2); tmp/=2; } } for(auto i:link[num]){ if(i.F==par)continue; dfs2(i.F, num, dis+cnt[i.S]); } } void Anya(int C[]){ for(int i=0; i<n-1; i++){ cnt[i+1]=C[i]; Save(501+i, C[i]); } dfs2(0, -1, 0); } /* 3 0 1 1 2 1 11 3 0 1 2 */
#include "Borislib.h" #include <bits/stdc++.h> #define eb emplace_back #define mp make_pair #define F first #define S second using namespace std; typedef long long LL; typedef pair<int, int> pii; static int n, MAXD=10, re; static int par[510], ped[510], buc[510], sz[510]; static vector<pii> link[510]; static void dfs(int num, int p){ sz[num]=1; if(p==-1)buc[num]=++re; for(auto i:link[num]){ if(i.F==p)continue; dfs(i.F, num); par[i.F]=num, ped[i.F]=i.S; sz[num]+=sz[i.F]; } if(sz[num]>=10&&par>=0)buc[num]=++re, sz[num]=0; } void InitBoris(int N, int A[], int B[]){ n=N; for(int i=0; i<n-1; i++){ link[A[i]].eb(B[i], i+1); link[B[i]].eb(A[i], i+1); } dfs(0, -1); } static int dfs2(int num){ if(buc[num]){ int ret=0; for(int i=buc[num]*9-1; i>=buc[num]*9-9; i--){ ret*=2; ret+=Ask(i); } return ret; } return dfs2(par[num])+Ask(ped[num]+500); } int Boris(int city){ return dfs2(city); }

Compilation message (stderr)

Anya.cpp:12:15: warning: 'MAXD' defined but not used [-Wunused-variable]
 static int n, MAXD=10, re;
               ^~~~
Anya.cpp:10:12: warning: 'getL' defined but not used [-Wunused-variable]
 static int getL;
            ^~~~

Boris.cpp:11:15: warning: 'MAXD' defined but not used [-Wunused-variable]
 static int n, MAXD=10, re;
               ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...