#include<stdio.h>
int main(){
int i=0,m;
scanf("%d",&m);
long long int a[m];
int b[m],c[m];
for(i=0;i<m;i++){
scanf("%lld%d%d",&a[i],&b[i],&c[i]);//这里与结构体类似。
}
int n,j,d[m];
scanf("%d",&n);
for(j=0;j<n;j++){
scanf("%d",&d[j]);
}
for(j=0;j<n;j++){
for(i=0;i<m;i++){
if(d[j]==b[i]){printf("%lld %d\n",a[i],c[i]);break;}//提高效率。
}
}
return 0;
}
关键在于1.数组的越界问题,这是第一大问题,同时也是我犯错的地方。
2.数组的长度使用double->%.0f类型会出现问题9999999999999999会变成10000000000000000,这是我在测试集中虽然没有但找到问题。建议使用long long int型%lld,或者long int型%ld都可以。