답안 #912650

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
912650 2024-01-19T17:16:46 Z Ludissey 참나무 (IOI23_beechtree) C++17
0 / 100
65 ms 17748 KB
#include "beechtree.h"
#include <bits/stdc++.h>
using namespace std;
int N,M;
vector<vector<int>> child;
vector<int> C;
vector<int> P;
vector<int> outp;


std::vector<int> beechtree(int n, int m, std::vector<int> p, std::vector<int> c)
{
    N=n; M=m;
    C.assign(c.begin(), c.end());
    P.assign(p.begin(), p.end());
    child.resize(n);
    outp.resize(n,0);
    for (int i = 1; i < N; i++) child[P[i]].push_back(i);
    bool df=true;
    outp[0]=1;
    vector<pair<int,int>> childr;
    unordered_set<int> ccolors;
    for (int i = 1; i < n; i++)
    {
        if(P[i]==0){
            childr.push_back({child[i].size(),i});
            unordered_set<int> clors;
            if(ccolors.find(c[i])!=ccolors.end()) outp[0]=0;
            ccolors.insert(c[i]);
            outp[i]=1;
            for (auto u : child[i]) 
            {
                clors.insert(c[u]);
            }
            if(clors.size()!=child[i].size()) { outp[i]=0; df=false; break; }
        }
        else if(child[i].size()==0) outp[i]=1;
    }
    if(!df) { outp[0]=0; return {outp}; }
    sort(childr.begin(), childr.end(),greater<pair<int,int>>());
    for (int i = 0; i < (int)child[0].size(); i++)
    {
        for (auto u : child[childr[i].second]) 
        {
            if(ccolors.find(c[u])==ccolors.end()) { outp[0]=0; break; }
            ccolors.insert(c[u]);
        }
        if(outp[0]==0) break;
    }
    
    return {outp};
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB 2nd lines differ - on the 3rd token, expected: '1', found: '0'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Incorrect 0 ms 348 KB 2nd lines differ - on the 3rd token, expected: '1', found: '0'
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Incorrect 1 ms 348 KB 2nd lines differ - on the 6th token, expected: '1', found: '0'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Incorrect 65 ms 17748 KB 2nd lines differ - on the 2nd token, expected: '0', found: '1'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Incorrect 1 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 348 KB Output is correct
2 Correct 1 ms 344 KB Output is correct
3 Correct 1 ms 348 KB Output is correct
4 Correct 1 ms 348 KB Output is correct
5 Incorrect 1 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Incorrect 0 ms 348 KB 2nd lines differ - on the 1st token, expected: '0', found: '1'
3 Halted 0 ms 0 KB -