```cpp
if(a==A[loc].face)
{
if(loc-b<1)
{
loc=loc+(n-b);
}
else
{
loc=loc-b;
}
}
else if(a!=A[loc].face)
{
if(b+loc>n)
{
loc=loc-(n-b);
}
else
{
loc=loc+b;
}
}
}
```
这里的else if只要没有加else就会wa,但是这两个不是独立开判断的嘛?没有看懂
by acahv @ 2021-08-22 07:49:27
@[acahv](/user/557887) 哇大哥您很努力但也请早点睡
by whoam @ 2021-08-22 07:51:04
@[cyc0916](/user/549418) 靠,怎么知道我没睡觉
by acahv @ 2021-08-22 07:52:02
@[acahv](/user/557887) 因为在第一个 `if` 中,`loc` 已经改变了
by 阿丑 @ 2021-08-22 08:17:24
@[acahv](/user/557887)
在第一个if里,$loc$ 会受到改变,导致可能出了第一个if后会再次进入第二个if,导致答案错误
还有其实可以不用else if,
另外洛谷上可以查看他人的提交记录,可以看到你刷了一夜题,加油继续努力吧!
by Lonely_Christmas @ 2021-08-22 08:21:43
@[acahv](/user/557887) 草 您4点发了个帖
by whoam @ 2021-08-22 15:23:12
@[fanglong](/user/241520) 谢谢dalao!我会加油的
by acahv @ 2021-08-22 22:04:57
@[阿丑](/user/364963) 谢谢dalao!
by acahv @ 2021-08-22 22:05:13
好,好,好,好长的代码!
by 许多 @ 2021-08-24 10:09:40