PAT查找题---1041 考试座位号 (15分)
1041 考试座位号 (15分)
先附上自己写的辣鸡代码,第一次非常傻,查找输入的id,用了双重for循环
虽然这次数据小体现不出来,但是下次要注意orz
#include<iostream>
const int maxn = 1005;
using namespace std;
struct Node{
string s;
int id1;
int id2;
}node[maxn];
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>node[i].s>>node[i].id1>>node[i].id2;
}
int m;cin>>m;
for(int i=1;i<=m;i++){
int x;
cin>>x;
for(int i=1;i<=n;i++){
if(node[i].id1==x){
cout<<node[i].s<<" "<<node[i].id2<<"\n";
}
}
}
return 0;
}
第二次看算法笔记的代码
#include<iostream>
const int maxn = 1005;
using namespace std;
struct Node{
string s;
int id;
}node[maxn];
int n;
int main(){
cin>>n;
for(int i=1;i<=n;i++){
string s;
int id1,id2;
cin>>s>>id1>>id2;
node[id1].s=s;
node[id1].id=id2;
}
int m;cin>>m;
for(int i=1;i<=m;i++){
int id1;cin>>id1;
cout<<node[id1].s<<" "<<node[id1].id<<"\n";
}
return 0;
}