蜗蜗小学的老师上课时,有时候会叫学生起来回答问题,但蜗蜗小学的人非常多,老师有时候记不过来。
蜗蜗小学共有 N� 个年级,每个年级有 M� 个班。
每个学生都有一个学号,每个班学号的编号都是在 11 到 K� 中的正整数,中间有可能有空缺(可能有学生转学去了别的学校)。
现在老师需要你帮助他写一个程序,在程序中输入告诉你每个学生的年级 gi��、班级 ci��、学号 numi���� 和名字 si��,保证每个年级、班级、学号对应的学生唯一,但学生可能有重名。
当老师需要点名提问时,他会告诉你一个学生的年级、班级和学号,要你输出这个学生的名字,如果不存在这个学生,输出 Error
。
输入格式
第一行三个整数 N,M,K�,�,�,表示年级数、班级数和最大学号编号。
第二行一个整数 P�,表示共有 P� 个学生。
接下来 P� 行,每行表示一个学生的信息,包含三个正整数,分别是年级 gi��,班级 ci��,学号 numi����,以及一个字符串名字 si��,用空格隔开。
接下来一行一个整数 Q�,表示共有 Q� 组询问。
接下来 Q� 行,每行表示一个询问,包含三个正整数,分别是年级 gi��,班级 ci��,学号 numi����。
输出格式
共 Q� 行,每行一个字符串,表示对第 i(1≤i≤Q)�(1≤�≤�) 个询问的回答,如果存在这个学生,输出他的名字,否则输出 Error
。
样例输入
1 2 3
5
1 1 1 alice
1 1 2 bob
1 1 3 cindy
1 2 2 david
1 2 3 eve
4
1 1 1
1 1 2
1 2 1
1 2 2
样例输出
alice
bob
Error
david
数据规模
对于 100%100% 的数据,保证 1≤N,M≤10,1≤K≤100,1≤P≤N×M×K,1≤Q≤100000,1≤gi≤N,1≤ci≤M,1≤numi≤K,1≤|si|≤81≤�,�≤10,1≤�≤100,1≤�≤�×�×�,1≤�≤100000,1≤��≤�,1≤��≤�,1≤����≤�,1≤|��|≤81≤N,M≤10,1≤K≤100,1≤P≤N×M×K,1≤Q≤100000,1≤gi≤N,1≤ci≤M,1≤numi≤K,1≤|si|≤8, si�� 由小写字母组成。
时间限制:1 s空间限制:1024 MB
代码如下:
#include<bits/stdc++.h>
using namespace std;
int n,m,k,p,q;
char name[15][15][110][15];
int main(){
scanf("%d%d%d",&n,&m,&k);
scanf("%d",&p);
for(int i=1;i<=p;i++){
int g,c,num;
scanf("%d%d%d",&g,&c,&num);
scanf("%s",name[g][c][num]);
}
scanf("%d",&q);
for(int i=1;i<=q;i++){
int g,c,num;
scanf("%d%d%d",&g,&c,&num);
if(strlen(name[g][c][num])==0) printf("Error\n");
else printf ("%s\n",name[g][c][num]);
}
return 0;
}
拜拜 !