Submission #1450533


Source Code Expand

#include <bits/stdc++.h>
#define SZ(X) ((int)(X).size())
#define ALL(X) (X).begin(), (X).end()
#define REP(I, N) for (int I = 0; I < (N); ++I)
#define REPP(I, A, B) for (int I = (A); I < (B); ++I)
#define RI(X) scanf("%d", &(X))
#define RII(X, Y) scanf("%d%d", &(X), &(Y))
#define RIII(X, Y, Z) scanf("%d%d%d", &(X), &(Y), &(Z))
#define DRI(X) int (X); scanf("%d", &X)
#define DRII(X, Y) int X, Y; scanf("%d%d", &X, &Y)
#define DRIII(X, Y, Z) int X, Y, Z; scanf("%d%d%d", &X, &Y, &Z)
#define RS(X) scanf("%s", (X))
#define CASET int ___T, case_n = 1; scanf("%d ", &___T); while (___T-- > 0)
#define MP make_pair
#define PB push_back
#define MS0(X) memset((X), 0, sizeof((X)))
#define MS1(X) memset((X), -1, sizeof((X)))
#define LEN(X) strlen(X)
#define PII pair<int,int>
#define VI vector<int>
#define VL vector<long long>
#define VPII vector<pair<int,int> >
#define PLL pair<long long,long long>
#define VPLL vector<pair<long long,long long> >
#define F first
#define S second
typedef long long LL;
using namespace std;
const int MOD = 1e9+7;
const int SIZE = 1e5+10;
VI E[2][SIZE];
VI ee[SIZE];
int root[2];
int V[2][SIZE];
int dfs0(VI e[],int x,int v[]){
    v[x]=1;
    VI ker;
    REP(i,SZ(e[x])){
        int y=e[x][i];
        ker.PB(dfs0(e,y,v));
        v[x]^=1;
    }
    for(int i=0;i+1<SZ(ker);i+=2){
        ee[ker[i]].PB(ker[i+1]);
        ee[ker[i+1]].PB(ker[i]);
    }
    if(v[x])return x;
    return ker.back();
}
int an[SIZE];
void go(int x,int v){
    an[x]=v;
    REP(i,SZ(ee[x])){
        int y=ee[x][i];
        if(!an[y])
            go(y,v*-1);
    }
}
int main(){
    DRI(N);
    REP(k,2){
        REPP(i,1,N+1){
            DRI(x);
            if(x==-1)root[k]=i;
            else E[k][x].PB(i);
        }
    }
    REP(k,2){
        dfs0(E[k],root[k],V[k]);
    }
    REPP(i,1,N+1){
        if(V[0][i]!=V[1][i])return 0*puts("IMPOSSIBLE");
    }
    puts("POSSIBLE");
    REPP(i,1,N+1){
        if(V[0][i]&&!an[i]){
            go(i,1);
        }
    }
    REPP(i,1,N+1)printf("%d%c",an[i]," \n"[i==N]);
    return 0;
}

Submission Info

Submission Time
Task F - Two Trees
User dreamoon
Language C++14 (GCC 5.4.1)
Score 1700
Code Size 2130 Byte
Status AC
Exec Time 78 ms
Memory 23808 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:61:11: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     DRI(N);
           ^
./Main.cpp:64:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
             DRI(x);
                   ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1700 / 1700
Status
AC × 3
AC × 70
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt, subtask_1_16.txt, subtask_1_17.txt, subtask_1_18.txt, subtask_1_19.txt, subtask_1_20.txt, subtask_1_21.txt, subtask_1_22.txt, subtask_1_23.txt, subtask_1_24.txt, subtask_1_25.txt, subtask_1_26.txt, subtask_1_27.txt, subtask_1_28.txt, subtask_1_29.txt, subtask_1_30.txt, subtask_1_31.txt, subtask_1_32.txt, subtask_1_33.txt, subtask_1_34.txt, subtask_1_35.txt, subtask_1_36.txt, subtask_1_37.txt, subtask_1_38.txt, subtask_1_39.txt, subtask_1_40.txt, subtask_1_41.txt, subtask_1_42.txt, subtask_1_43.txt, subtask_1_44.txt, subtask_1_45.txt, subtask_1_46.txt, subtask_1_47.txt, subtask_1_48.txt, subtask_1_49.txt, subtask_1_50.txt, subtask_1_51.txt, subtask_1_52.txt, subtask_1_53.txt, subtask_1_54.txt, subtask_1_55.txt, subtask_1_56.txt, subtask_1_57.txt, subtask_1_58.txt, subtask_1_59.txt, subtask_1_60.txt, subtask_1_61.txt, subtask_1_62.txt, subtask_1_63.txt, subtask_1_64.txt
Case Name Status Exec Time Memory
sample_01.txt AC 3 ms 7296 KB
sample_02.txt AC 3 ms 7296 KB
sample_03.txt AC 3 ms 7296 KB
subtask_1_01.txt AC 3 ms 7296 KB
subtask_1_02.txt AC 3 ms 7296 KB
subtask_1_03.txt AC 38 ms 11648 KB
subtask_1_04.txt AC 53 ms 13696 KB
subtask_1_05.txt AC 55 ms 13824 KB
subtask_1_06.txt AC 20 ms 9216 KB
subtask_1_07.txt AC 49 ms 12160 KB
subtask_1_08.txt AC 19 ms 10156 KB
subtask_1_09.txt AC 30 ms 11272 KB
subtask_1_10.txt AC 46 ms 12544 KB
subtask_1_11.txt AC 15 ms 8832 KB
subtask_1_12.txt AC 63 ms 14464 KB
subtask_1_13.txt AC 43 ms 12416 KB
subtask_1_14.txt AC 11 ms 8448 KB
subtask_1_15.txt AC 22 ms 9216 KB
subtask_1_16.txt AC 28 ms 11960 KB
subtask_1_17.txt AC 24 ms 10404 KB
subtask_1_18.txt AC 62 ms 14920 KB
subtask_1_19.txt AC 62 ms 14464 KB
subtask_1_20.txt AC 74 ms 16384 KB
subtask_1_21.txt AC 66 ms 21632 KB
subtask_1_22.txt AC 59 ms 21120 KB
subtask_1_23.txt AC 75 ms 16896 KB
subtask_1_24.txt AC 69 ms 14336 KB
subtask_1_25.txt AC 34 ms 12912 KB
subtask_1_26.txt AC 48 ms 13880 KB
subtask_1_27.txt AC 68 ms 15160 KB
subtask_1_28.txt AC 61 ms 14464 KB
subtask_1_29.txt AC 73 ms 15616 KB
subtask_1_30.txt AC 69 ms 18560 KB
subtask_1_31.txt AC 62 ms 23808 KB
subtask_1_32.txt AC 74 ms 15872 KB
subtask_1_33.txt AC 69 ms 14336 KB
subtask_1_34.txt AC 33 ms 12912 KB
subtask_1_35.txt AC 48 ms 13880 KB
subtask_1_36.txt AC 69 ms 16564 KB
subtask_1_37.txt AC 73 ms 16256 KB
subtask_1_38.txt AC 73 ms 16128 KB
subtask_1_39.txt AC 74 ms 17280 KB
subtask_1_40.txt AC 75 ms 16128 KB
subtask_1_41.txt AC 75 ms 17024 KB
subtask_1_42.txt AC 43 ms 13032 KB
subtask_1_43.txt AC 68 ms 16440 KB
subtask_1_44.txt AC 74 ms 16640 KB
subtask_1_45.txt AC 74 ms 17024 KB
subtask_1_46.txt AC 75 ms 17408 KB
subtask_1_47.txt AC 75 ms 16128 KB
subtask_1_48.txt AC 76 ms 18304 KB
subtask_1_49.txt AC 45 ms 13288 KB
subtask_1_50.txt AC 74 ms 15928 KB
subtask_1_51.txt AC 73 ms 15488 KB
subtask_1_52.txt AC 75 ms 16896 KB
subtask_1_53.txt AC 74 ms 15872 KB
subtask_1_54.txt AC 76 ms 15616 KB
subtask_1_55.txt AC 75 ms 16384 KB
subtask_1_56.txt AC 43 ms 13416 KB
subtask_1_57.txt AC 69 ms 16308 KB
subtask_1_58.txt AC 74 ms 16000 KB
subtask_1_59.txt AC 74 ms 17280 KB
subtask_1_60.txt AC 76 ms 16128 KB
subtask_1_61.txt AC 74 ms 16256 KB
subtask_1_62.txt AC 78 ms 17152 KB
subtask_1_63.txt AC 44 ms 16232 KB
subtask_1_64.txt AC 68 ms 15924 KB