Submission #1688334


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
int fa[1000100],st[1000100],a[1000100],js[1000100],tim;
bool vis[1000100];
vector <int> des[1000100];
void dfs(int s)
{
	for (int k=0;k<des[s].size();k++) if (!vis[des[s][k]]) dfs(des[s][k]);
	tim++;
	for (int k=0;k<des[s].size();k++) if (!vis[des[s][k]]) js[a[des[s][k]]]=tim;
	for (a[s]=0;;a[s]++) if (js[a[s]]!=tim) break;
}
int main()
{
	int n,top=0;scanf("%d",&n);
	for (int i=1;i<=n;i++) {scanf("%d",&fa[i]);des[fa[i]].push_back(i);}
	int now=1;while (!vis[now]) {st[++top]=now;vis[now]=true;now=fa[now];}
	int p=1;while (st[p]!=now) p++;st[top+1]=st[p];
	if ((top-p)&1) {printf("POSSIBLE\n");return 0;}
	memset(vis,0,sizeof(vis));
	for (int i=p;i<=top;i++) vis[st[i]]=true;
	for (int i=p;i<=top;i++) dfs(st[i]);
	for (int i=p;i<=top;i++) if (a[st[i]]!=a[st[i+1]]) {printf("POSSIBLE\n");return 0;}
	printf("IMPOSSIBLE\n");
}

Submission Info

Submission Time
Task F - Namori Grundy
User yx_lu
Language C++14 (GCC 5.4.1)
Score 800
Code Size 899 Byte
Status AC
Exec Time 57 ms
Memory 38272 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:15:28: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  int n,top=0;scanf("%d",&n);
                            ^
./Main.cpp:16:44: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for (int i=1;i<=n;i++) {scanf("%d",&fa[i]);des[fa[i]].push_back(i);}
                                            ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 4
AC × 68
Set Name Test Cases
Sample example0, example1, example2, example3
All example0, example1, example2, example3, loop0, loop1, loop10, loop11, loop12, loop13, loop14, loop15, loop16, loop17, loop18, loop19, loop2, loop3, loop4, loop5, loop6, loop7, loop8, loop9, loopex0, loopex1, loopex10, loopex11, loopex12, loopex13, loopex14, loopex15, loopex16, loopex17, loopex18, loopex19, loopex2, loopex20, loopex21, loopex22, loopex23, loopex3, loopex4, loopex5, loopex6, loopex7, loopex8, loopex9, rand0, rand1, rand2, rand3, rand4, rand5, rand6, rand7, rand8, rand9, small0, small1, small2, small3, small4, small5, small6, small7, small8, small9
Case Name Status Exec Time Memory
example0 AC 10 ms 28928 KB
example1 AC 10 ms 30976 KB
example2 AC 10 ms 30976 KB
example3 AC 10 ms 30976 KB
loop0 AC 51 ms 35968 KB
loop1 AC 51 ms 35968 KB
loop10 AC 51 ms 35968 KB
loop11 AC 51 ms 35968 KB
loop12 AC 51 ms 35968 KB
loop13 AC 51 ms 35968 KB
loop14 AC 51 ms 35968 KB
loop15 AC 51 ms 35968 KB
loop16 AC 51 ms 35968 KB
loop17 AC 51 ms 35968 KB
loop18 AC 45 ms 31872 KB
loop19 AC 44 ms 31872 KB
loop2 AC 51 ms 35968 KB
loop3 AC 51 ms 35968 KB
loop4 AC 51 ms 35968 KB
loop5 AC 51 ms 35968 KB
loop6 AC 52 ms 35968 KB
loop7 AC 51 ms 35968 KB
loop8 AC 45 ms 31872 KB
loop9 AC 45 ms 31872 KB
loopex0 AC 52 ms 35968 KB
loopex1 AC 51 ms 35968 KB
loopex10 AC 50 ms 35968 KB
loopex11 AC 52 ms 35968 KB
loopex12 AC 45 ms 31872 KB
loopex13 AC 45 ms 31872 KB
loopex14 AC 47 ms 31872 KB
loopex15 AC 46 ms 31872 KB
loopex16 AC 52 ms 35968 KB
loopex17 AC 51 ms 35968 KB
loopex18 AC 53 ms 38016 KB
loopex19 AC 51 ms 35968 KB
loopex2 AC 51 ms 35968 KB
loopex20 AC 45 ms 31872 KB
loopex21 AC 46 ms 31872 KB
loopex22 AC 46 ms 31872 KB
loopex23 AC 45 ms 31872 KB
loopex3 AC 52 ms 35968 KB
loopex4 AC 46 ms 31872 KB
loopex5 AC 47 ms 33920 KB
loopex6 AC 46 ms 31872 KB
loopex7 AC 46 ms 31872 KB
loopex8 AC 52 ms 35968 KB
loopex9 AC 57 ms 38016 KB
rand0 AC 20 ms 29824 KB
rand1 AC 29 ms 32256 KB
rand2 AC 14 ms 29440 KB
rand3 AC 43 ms 31744 KB
rand4 AC 55 ms 38272 KB
rand5 AC 28 ms 30464 KB
rand6 AC 16 ms 29824 KB
rand7 AC 12 ms 31104 KB
rand8 AC 41 ms 35456 KB
rand9 AC 12 ms 31232 KB
small0 AC 10 ms 28928 KB
small1 AC 10 ms 28928 KB
small2 AC 10 ms 30976 KB
small3 AC 10 ms 28928 KB
small4 AC 10 ms 28928 KB
small5 AC 10 ms 28928 KB
small6 AC 10 ms 28928 KB
small7 AC 10 ms 30976 KB
small8 AC 10 ms 30976 KB
small9 AC 10 ms 30976 KB