#P2104. 查单词.v2.填空题

查单词.v2.填空题

题目描述

全国英语四级考试就这样如期到来了,可是小 Y 依然没有做好充分的准备。为了能够大学毕业,可怜的小Y决定作弊。(太胆大妄为了,居然不怕被学校开除!!)

小Y费尽心机,在考试的时候夹带了一本字典进考场。但是现在的问题是,考试的时候可能有很多单词要查,小Y能不能来得及呢。

输入格式

  1. 第一行一个整数 nn ,表示字典中一共有多少单词(n10000n \le 10000)。

  2. 接下来每两行表示一个单词,其中:

    • 第一行是一个长度<= 100 的字符串,表示这个单词,全部小写字母,单词不会重复。
    • 第二行是一个整数,表示这个单词在字典中的页码。
  3. 接下来一行是一个整数 mm ,表示要查的单词数(m10000m \le 10000)。

  4. 接下来 mm 行,每行一个字符串,表示要查的单词,保证在字典中存在。

输出格式

mm 行,每行一个整数,表示第 ii 个单词在字典中的页数。

样例

2
scan
10
word
15
2
scan
word
10
15

完善程序

#include<bits/stdc++.h>
using namespace std;
struct Word
{
	string word;
	int page;
} x[10001];
填空(1) cmp(Word i, Word j)
{
	return i.word<j.word;
}
int n,m;
int search(string a)
{
	int low,high,mid;
	low=1;
	high=n;
	while(填空(2))
	{
		mid = (low+high)/2;
		if(x[mid].word==a)
			填空(3);
		else if(x[mid].word<a)
			填空(4);
		else
			填空(5);
	}
	return 填空(6);
}
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) cin>>x[i].word>>x[i].page;

	sort( 填空(7) );
	
	scanf("%d",&m);
	string t;
	while(m--)
	{
		cin>>t;
		printf( "%d\n",填空(8) );
	}
	return 0;
}

填空(1):{{ input(1) }}

填空(2):{{ input(2) }}

填空(3):{{ input(3) }}

填空(4):{{ input(4) }}

填空(5):{{ input(5) }}

填空(6):{{ input(6) }}

填空(7):{{ input(7) }}

填空(8):{{ input(8) }}