救命!什么地方出问题了??

P5462 X龙珠

样例可以过 自己出的样例也过了 为啥啊?
by ljqwq @ 2019-07-14 20:24:10


最好有一个hack数据
by ljqwq @ 2019-07-14 20:25:09


谢谢
by ljqwq @ 2019-07-14 20:25:14


只用一个num和v数组,用while确定下一个数,用zh变量来确定后面是否还有数,如果某次选的第二个数的位置==zh,就重新确定zh的指向。不用sort,从n到1循环,我觉得有点贪心。 for(R int i=n;i>=1;i--){ if(x[i]==zh) continue; if(vis[x[i]]) continue; vis[x[i]]=true; y=x[i]; while(vis[y]) y++; vis[y]=true; printf("%d %d ",i,a[y]); if(y==zh){ y=x[i]; while(vis[y]) y--; zh=y; } }
by suxxsfe @ 2019-07-14 20:32:42


x就是num
by suxxsfe @ 2019-07-14 20:32:59


zh初始为n
by suxxsfe @ 2019-07-14 20:33:37


数据: ``` 6 2 6 5 3 1 4 ```
by ud2_ @ 2019-07-14 20:38:31


@[sjx233](/space/show?uid=206953) @[Thomas_wade](/space/show?uid=164432) 我知道问题了,但还是谢谢!
by ljqwq @ 2019-07-14 20:41:13


|