
如图,同样数据,本地运行正常,在线运行莫名其妙,为什么?大佬指教一下。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int a[10][6];
short b[100000];
int to_int(int a1,int a2,int a3,int a4,int a5){
return a1*10000+a2*1000+a3*100+a4*10+a5;
}
int main(){
int n,ans;
memset(b,0,sizeof(b));
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i][1]>>a[i][2]>>a[i][3]>>a[i][4]>>a[i][5];
}
for(int i=1;i<=n;i++){
for(int j=1;j<=9;j++){
b[to_int((a[i][1]+j)%10,a[i][2],a[i][3],a[i][4],a[i][5])]++;
b[to_int(a[i][1],(a[i][2]+j)%10,a[i][3],a[i][4],a[i][5])]++;
b[to_int(a[i][1],a[i][2],(a[i][3]+j)%10,a[i][4],a[i][5])]++;
b[to_int(a[i][1],a[i][2],a[i][3],(a[i][4]+j)%10,a[i][5])]++;
b[to_int(a[i][1],a[i][2],a[i][3],a[i][4],(a[i][5]+j)%10)]++;
b[to_int((a[i][1]+j)%10,(a[i][2]+j)%10,a[i][3],a[i][4],a[i][5])]++;
b[to_int(a[i][1],(a[i][2]+j)%10,(a[i][3]+j)%10,a[i][4],a[i][5])]++;
b[to_int(a[i][1],a[i][2],(a[i][3]+j)%10,(a[i][4]+j)%10,a[i][5])]++;
b[to_int(a[i][1],a[i][2],a[i][3],(a[i][4]+j)%10,(a[i][5]+j)%10)]++;
}
}
for(int i=1;i<=99999;i++){
if(b[i]==n) ans++;
}
cout<<ans;
return 0;
}