| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1324577 | eri16 | 디지털 회로 (IOI22_circuit) | C++20 | 6 ms | 1232 KiB |
#include <bits/stdc++.h>
//#include "circuit.h"
using namespace std;
using ll =long long;
vector <int> v;
vector <int> adj[1005];
int mod=1e9+2022;
int st;
void init(int N, int M, vector <int> P, vector <int> A){
for (int i=1; i<N+M; i++){adj[P[i]].push_back(i);}
v=A;
st=N;
}
ll ans;
int dfs(int node){
if (node<st){
int sm=adj[node].size();
for (auto child : adj[node]){
if (dfs(child)==0){sm--;}
}
if (sm!=0){ans*=sm;ans=ans%mod;return 1;}
else{return 0;}
}
else{return v[node-st];}
}
int count_ways(int L, int R){
ans=1;
for (int i=L; i<=R; i++){v[i-st]=1-v[i-st];}
int cts = dfs(0);
if (cts==0){return cts;}
return (ans%mod);
}| # | 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... | ||||
