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;
}
posted @ 2020-06-08 09:41  chstor  阅读(134)  评论(0编辑  收藏  举报