Limitless_lmw @ 2023-10-01 22:37:00
RT,教师端Windows,测评软件Cena 0.8.1,C++ 14标准,编译器大抵是MinGW(版本未知)
这是提交的代码(有文件输入输出):
#include<bits/stdc++.h>
using namespace std;
int n,q,s;
int str;
int si;
inline void read(int &n) {
n=0;
char ch = getchar();
while (ch < '0' || ch > '9') {
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
n = (n << 1) + (n << 3) + (ch ^ 48);
ch = getchar();
}
}
int arr[1005];
int main(){
freopen("librarian.in","r",stdin);
freopen("librarian.out","w",stdout);
read(n),read(q);
for(int i = 1; i<=n; i++) read(arr[i]);
sort(arr+1,arr+1+n);
BREAK:
while(q--){
read(si),read(str);
for(int i = 1; i<=n; i++){
if(arr[i]%(int)(pow(10,si))==str){
cout<<arr[i]<<'\n';
goto BREAK;
}
}
cout<<-1<<'\n';
}
return 0;
}
然后在第一个点,也就是
输入是:
1 10
9392912
3 912
2 10
7 2731197
2 12
7 7163045
4 8785
7 4577297
5 75400
1 2
6 493284
输出是:
9392912
-1
-1
9392912
-1
-1
-1
-1
9392912
-1
的这个测试点。
WA,提示内容:
在第 4 行:
----选手输出的第 1 列----
-1
----标准输出的第 1 列----
939291...
然后在教师端的DEV测试是对的,不排除cena使用的g++不是dev的g++的可能性
就是想问一下上面的代码有没有UB或者什么玄学因素
by Crab_Tang @ 2023-10-15 08:20:04
@Limitless_lmw 快读与全局变量名重复啦。