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
2017-07-24 00:58:17+0900
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
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