一道ACM题。因学校是内网所以发地址没有用。请学长们help~
谁讲题呢?
--------------------------------------------
Time limit: 1000MS Memory limit: 32768K
Total Submit: 1727 Accepted: 257
--------------------------------------------
每次比赛之后,队伍里面总是要一起来讨论题目。讨论题目的第一个步骤就是讲解题目的意思。应该怎么确定谁上去讲解题目意思呢?随机点名吧。
输入:
输入文件中有多组case。每一组case第一行包含一个整数N(1 <= N <= 1000),表示队员的人数。接下来的N行包含2个值:字符串name(长度不超过64)和整数id(1 <= id <= N),表示队员的名字和他(她)的号码, name 和 id之间有一个空格隔开, id是唯一的。 接下来那行包含一个整数K(0 <= K <= (2^31-1)),在接下来的K行中,每一行包含一个整数x(1 <= x <= 1000),表示随机产生的id号。
输出:
对应最后K行的每一个id号,每一行输出队员的name,要是这个id对应的name不存在,输出 "void";
输出中每两个case之间用一个空行格开。
Sample Input:
5
SeedJYH 1
Php 2
half 3
rene 4
Heart 5
4
1
1
1
1
Sample Output:
SeedJYH
SeedJYH
SeedJYH
SeedJYH
[解决办法]
- C/C++ code
#include <stdio.h>#include <string.h>int main(){ int i,k,index,n; char a[1005][70],tm[70],tid; while(scanf("%d",&n)!=EOF&&n!=0) { memset(a,0,sizeof(a)); for(i = 0;i < n;i++) { scanf("%s%d",tm,&tid); strcpy(a[tid],tm); } scanf("%d",&k); for(i = 0;i<k;i++) { scanf("%d",&index); puts(a[index]); } } return 0;}