为什么自己运行的和答案的一样,却没有通过?

P3741 小果的键盘

系统差异,Linux 和 Windows 不一样。
by XYY1411 @ 2021-07-13 20:53:33


@[XYY1411](/user/129562) 或许,很多字符串的题都会这样(
by XYY1411 @ 2021-07-13 20:54:25


@[XYY1411](/user/129562) 那该怎么办?没有办法过了吗?
by 冰封侠 @ 2021-07-13 20:57:03


这里--><https://www.luogu.com.cn/ide>![qq_emoji: ka](https://xn--9zr.tk/ka)
by ClapEcho233 @ 2021-07-13 20:59:10


@[冰封侠](/user/464739) ~~我上面的话请忽略~~,问题在于 `-1`,`std::string::find()` 在找不到字串时返回的是 `unsigned(-1)` 而不是 `int(-1)`,你可以用 `std::string::npos`。
by XYY1411 @ 2021-07-13 21:00:20


`npos` 的定义是 `unsigned std::string::npos = -1`。
by XYY1411 @ 2021-07-13 21:01:28


@[XYY1411](/user/129562) `int`和`unsigned`比较`int`会自动类型转换成`unsigned`吧
by BootsH @ 2021-07-13 21:02:09


@[developer6hyx](/user/317805) 返回的已经是 `unsigned` 了,完全没有 `-1` 这个东西。
by XYY1411 @ 2021-07-13 21:04:24


```cpp #include <string> #include <iostream> int main() { std::cout << std::string::npos << std::endl; return 0; } ``` 在 C++98 里试试。
by XYY1411 @ 2021-07-13 21:06:09


@[XYY1411](/user/129562) `-1`是`int`类型,C++在`int`和`unsigned`比较时把`int`转换成`unsigned`
by BootsH @ 2021-07-13 21:09:09


| 下一页