| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1310833 | trigon | September (APIO24_september) | C++20 | 1 ms | 568 KiB |
#include<bits/stdc++.h>
using namespace std;
///#define a leftchild
struct node{
int a=0;
int b=0;
int parent=-1;
};
int solve(int N, int M, std::vector<int> F,
std::vector<std::vector<int>> S){
int ans=0;
vector<node> tree(N);
for(int i=1;i<=N-1;i++){
if(tree[F[i]].a==0) tree[F[i]].b=i;
else tree[F[i]].b=i;
tree[i].parent = F[i];
}
vector<set<int>> s(M);
vector<set<int>> s2(M);
for(int i=1;i<=N-1;i++){
bool condition = true;
set<int> prev;
for(int j=0;j<M;j++){
s[j].erase(S[j][i]);
s2[j].insert(S[j][i]);
if(tree[S[j][i]].a!=0) s[j].insert(tree[S[j][i]].a);
if(tree[S[j][i]].b!=0) s[j].insert(tree[S[j][i]].b);
if(s.empty() && condition){
if(!j==0){
if(prev != s[j]) condition=false;
}
else prev = s[j];
}
}
if(condition) ans++;
}
return ans;
};
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
