首先m,n可以直接用cin/scanf来读取,不需要字符串转数字。
其次有可能在一轮循环中出现answer<-m的情形。比如:如果一共三个人,我要往左走八个,此时answer = -8,answer+3 = -5。所以应该把
```
if(answer<0)answer+=n;
```
改为
```
while(answer<=0)answer+=n;
```
另外编号从1开始,因此编号为0时就已经越界了。
还有一个技巧,就是用
```
if(right xor face[i]){
direction = 1;
}
else{
direction = -1;
}
```
这样可以节约代码行数\
其中xor意为异或,真值表为:
```
//T T = F
//F F = F
//T F = T
//F T = T
```
by chenmo2008 @ 2023-09-06 23:16:16