| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1362554 | opeleklanos | 9월 (APIO24_september) | C++20 | 78 ms | 7884 KiB |
#include <iostream>
#include <vector>
#include <set>
using namespace std;
#include "september.h"
vector<vector<int>> adj;
set<int> needToFind;
vector<int> vis;
void dfs(int st){
vis[st] = 1;
for(auto i : adj[st]){
if(vis[i]) continue;
needToFind.insert(i);
dfs(i);
}
}
int solve(int N, int M, vector<int> F, vector<vector<int>> S){
needToFind.clear();
adj.assign(N, {});
for(int i = 1; i<N; i++) adj[F[i]].push_back(i);
vis.assign(N, 0);
int ans = 0;
for(int i = 0; i<N-1; i++){
needToFind.erase(S[0][i]);
dfs(S[0][i]);
if(needToFind.size() == 0) ans++;
}
return ans;
}| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
