样例可以过
自己出的样例也过了
为啥啊?
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