# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
627509 | Kaitokid | Digital Circuit (IOI22_circuit) | C++17 | 1130 ms | 25448 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int mod=1000002022;
vector<int>ch[200009];
int sz[200009], f[200009],n,m;
void dfs(int x)
{
if(ch[x].empty()){sz[x]=1;return;}
sz[x]=ch[x].size();
for(int i=0;i<ch[x].size();i++){dfs(ch[x][i]);sz[x]=(sz[x]*1LL*sz[ch[x][i]])%mod;}
// cout<<55<<" "<<x<<" "<<sz[x]<<endl;
}
void go(int x,int prd)
{
//cout<<66<<" "<<x<<" "<<prd<<endl;
if(ch[x].empty()){f[x-n]=prd;return;}
int w=ch[x].size();
vector<int>suf(w+1);
suf[w]=1;
for(int i=w-1;i>=0;i--)suf[i]=(suf[i+1]*1LL*sz[ch[x][i]])%mod;
int d=1;
for(int i=0;i<w;i++)
{
int r=(d*1LL*suf[i+1])%mod;
go(ch[x][i],(r*1LL*prd)%mod);
d=(d*1LL*sz[ch[x][i]])%mod;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |