@[comcnSBhhh](/user/1102819) 看起来也不是 UB 啊,你把代码发出来?
by CPlusPlusOnMars_star @ 2024-05-05 10:08:42
@[CPlusPlusOnMars_star](/user/678881)
```cpp
#include<bits/stdc++.h>
using namespace std;
int n,st,sp;
char c[107];
void print()
{
for(int i=1;i<=2*n+2;i++)
{
cout<<c[i];
}
cout<<endl;
st++;
}
void init(int n)
{
st=0;
sp=2*n+1;
for(int i=1;i<=n;i++)
{
c[i]='o';
}
for(int i=n+1;i<=2*n;i++)
{
c[i]='*';
}
c[2*n+1]='-';c[2*n+2]='-';
print();
}
void move(int k)
{
int j;
for(j=0;j<=1;j++)
{
c[sp+j]=c[k+j];
c[k+j]='-';
}
sp=k;
print();
}
void mv(int n)
{
int i,k;
if (n==4)
{
move(4);
move(8);
move(2);
move(7);
move(1);
}
else
{
move(n);
move(2*n-1);
mv(n-1);
}
}
int main()
{
cin>>n;
init(n);
mv(n);
return 0;
}
```
by comcnSBhhh @ 2024-05-05 10:09:53
@[comcnSBhhh](/user/1102819) 数组开小了
by CPlusPlusOnMars_star @ 2024-05-05 10:11:10
@[CPlusPlusOnMars_star](/user/678881) 可题目是n<=100啊
by comcnSBhhh @ 2024-05-05 10:12:32
@[comcnSBhhh](/user/1102819) 你“print”里面是循环到2*n+2啊兄弟!
by CPlusPlusOnMars_star @ 2024-05-05 10:14:36
@[comcnSBhhh](/user/1102819) 题目里面也说了"有 2n 个棋子排成一行"
by CPlusPlusOnMars_star @ 2024-05-05 10:15:12
@[CPlusPlusOnMars_star](/user/678881) orz
by comcnSBhhh @ 2024-05-05 10:15:37