Submission #6425423


Source Code Expand

#include<bits/stdc++.h>
#define next nxt
using namespace std;
int read(){
    int c=0,nx,sign=1;
    do{
        nx=getchar()-'0';
        if(nx=='-'-'0')
            sign=-1;
    }while(nx<0 or nx>9);
    while(nx>=0 and nx<=9){
        c=c*10+nx;
        nx=getchar()-'0';
    }
    return sign*c;
}
const int  N=5e5+100,M=6*N;
int head[N],next[M],ver[M];
inline void addEdge(int u,int v){
    static int now=1;
    ++now;
    next[now]=head[u];
    ver[now]=v;
    head[u]=now;
}
int n;
int cnt[N];
int fa[N],vis[N];
int ans[N];
int main(){
	n=read();
	int u,v,s=2*n+1;
	for(int i=1;i<=n;i++){
		u=read();
		if(u==-1)
			u=s;
		cnt[u]++;
		addEdge(u,i);
		addEdge(i,u);
	}
	for(int i=1;i<=n;i++){
		u=read();
		if(u==-1)
			u=s;
		else
			u=s-u;
		++cnt[u];
		v=s-i;
		addEdge(u,v);
		addEdge(v,u);
	}
	
	for(int i=1;i<=2*n;i++)
		cnt[i]=!(cnt[i]&1);
	cnt[s]=0;
	
	for(int i=1;i<=n;i++){
		if(cnt[i]^cnt[s-i]){
			puts("IMPOSSIBLE");
			return 0;
		}
		if(cnt[i])
			addEdge(i,s-i),addEdge(s-i,i);
	}
	
	u=1;
	while(1){
		int flag=1;
		for(int i=head[u];i;i=next[i]){
			if(vis[i])
				continue;
			v=ver[i];
			flag=0;
			if(v==s-u){
				if(u<=n)
					ans[u]=ans[s-u]=-1;
				else
					ans[u]=ans[s-u]=1;
			}
//			head[u]=next[i];
			vis[i]=vis[i^1]=1;
			u=v;
			break;
		}
		if(flag)
			break;
	}
	
	puts("POSSIBLE");
	for(int i=1;i<=n;i++)
		printf("%d ",ans[i]);
}

Submission Info

Submission Time
Task F - Two Trees
User luogu_bot3
Language C++ (GCC 5.4.1)
Score 0
Code Size 1464 Byte
Status WA
Exec Time 2103 ms
Memory 15744 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 1700
Status
AC × 3
AC × 27
WA × 39
TLE × 4
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 8448 KB
sample_02.txt AC 3 ms 8448 KB
sample_03.txt AC 3 ms 8448 KB
subtask_1_01.txt AC 3 ms 8448 KB
subtask_1_02.txt AC 3 ms 8448 KB
subtask_1_03.txt AC 10 ms 12544 KB
subtask_1_04.txt WA 25 ms 15360 KB
subtask_1_05.txt AC 13 ms 12544 KB
subtask_1_06.txt WA 12 ms 12928 KB
subtask_1_07.txt WA 16 ms 14720 KB
subtask_1_08.txt AC 9 ms 12544 KB
subtask_1_09.txt AC 9 ms 10496 KB
subtask_1_10.txt WA 259 ms 15360 KB
subtask_1_11.txt AC 5 ms 8448 KB
subtask_1_12.txt WA 34 ms 15488 KB
subtask_1_13.txt AC 10 ms 12544 KB
subtask_1_14.txt WA 6 ms 10624 KB
subtask_1_15.txt WA 9 ms 12672 KB
subtask_1_16.txt AC 11 ms 12544 KB
subtask_1_17.txt AC 8 ms 10496 KB
subtask_1_18.txt WA 848 ms 15616 KB
subtask_1_19.txt AC 14 ms 12544 KB
subtask_1_20.txt WA 43 ms 15744 KB
subtask_1_21.txt AC 14 ms 12544 KB
subtask_1_22.txt AC 14 ms 12544 KB
subtask_1_23.txt WA 38 ms 15616 KB
subtask_1_24.txt WA 22 ms 14848 KB
subtask_1_25.txt AC 13 ms 12544 KB
subtask_1_26.txt AC 13 ms 12544 KB
subtask_1_27.txt WA 694 ms 15616 KB
subtask_1_28.txt AC 14 ms 12544 KB
subtask_1_29.txt WA 37 ms 15616 KB
subtask_1_30.txt AC 14 ms 12544 KB
subtask_1_31.txt AC 14 ms 12544 KB
subtask_1_32.txt WA 39 ms 15744 KB
subtask_1_33.txt WA 22 ms 14848 KB
subtask_1_34.txt AC 13 ms 12544 KB
subtask_1_35.txt AC 13 ms 12544 KB
subtask_1_36.txt WA 25 ms 15616 KB
subtask_1_37.txt WA 33 ms 15616 KB
subtask_1_38.txt WA 36 ms 15616 KB
subtask_1_39.txt WA 37 ms 15616 KB
subtask_1_40.txt WA 39 ms 15616 KB
subtask_1_41.txt WA 38 ms 15616 KB
subtask_1_42.txt TLE 2103 ms 14848 KB
subtask_1_43.txt WA 1027 ms 15744 KB
subtask_1_44.txt WA 38 ms 15744 KB
subtask_1_45.txt WA 36 ms 15616 KB
subtask_1_46.txt WA 36 ms 15616 KB
subtask_1_47.txt WA 38 ms 15616 KB
subtask_1_48.txt WA 37 ms 15616 KB
subtask_1_49.txt TLE 2103 ms 14848 KB
subtask_1_50.txt WA 959 ms 15616 KB
subtask_1_51.txt WA 38 ms 15744 KB
subtask_1_52.txt WA 38 ms 15616 KB
subtask_1_53.txt WA 38 ms 15744 KB
subtask_1_54.txt WA 39 ms 15744 KB
subtask_1_55.txt WA 30 ms 15616 KB
subtask_1_56.txt TLE 2103 ms 14848 KB
subtask_1_57.txt AC 1030 ms 15616 KB
subtask_1_58.txt WA 36 ms 15616 KB
subtask_1_59.txt WA 27 ms 15616 KB
subtask_1_60.txt WA 33 ms 15616 KB
subtask_1_61.txt WA 34 ms 15616 KB
subtask_1_62.txt WA 39 ms 15616 KB
subtask_1_63.txt TLE 2103 ms 14848 KB
subtask_1_64.txt WA 378 ms 15616 KB