如果不考虑时间复杂度的话,这份代码应该可以过的。
read(n); for(int i=1;i<=n;i++)read(a[i]); sort(a+1,a+1+n); for(int i=1;i<=a[n]/2;i++){ for(int j=1;j<=n;j++)cout<<'R'; for(int j=1;j<=n;j++)cout<<'L'; }
因为我多走几步,只要不拐弯不是也行吗?因为题目中只说改变方向的次数尽量少,并没有让走的步数最小。 求证明,或反例及错误原因。