30分的看过来!!!
如果你用
getline(cin,k[i]);输入,
请改成:
getline(cin,k[i]);
while(s.back()=='\r'||s.back()=='\n'){
s.pop_back();
}
因为如果你使用了 getline(cin,s) 来读入,那么 s 的结尾会(比本地运行)多一个 \r 。
因为在评测机 Linux 系统下,换行符是 \r\n ,而不是 \n 。
讨论区里 Powerless233,adpitacor 等巨佬给出了这个提醒,我十分感激。
但由于他发地比较隐蔽,为了后人能马上看到而不会一直找不到错误,我把这个提醒提前一下~
当然,30分不只这一个原因,我是改了好几次都30,最后看到这两位大佬的铁才AC的。其他原因已有人贴在讨论区前面了,大家可以自行参考~~~