poj2403 模拟题目
来源:互联网 发布:网络宣传方案 编辑:程序博客网 时间:2024/06/04 20:11
Hay Points
Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 6251 Accepted: 3997
Description
Each employee of a bureaucracy has a job description - a few paragraphs that describe the responsibilities of the job. The employee's job description, combined with other factors, such as seniority, is used to determine his or her salary.
The Hay Point system frees the Human Resources department from having to make an intelligent judgement as to the value of the employee; the job description is merely scanned for words and phrases that indicate responsibility. In particular, job descriptions that indicate control over a large budget or management over a large number of people yield high Hay Point scores.
You are to implement a simplified Hay Point system. You will be given a Hay Point dictionary and a number of job descriptions. For each job description you are to compute the salary associated with the job, according to the system.
The Hay Point system frees the Human Resources department from having to make an intelligent judgement as to the value of the employee; the job description is merely scanned for words and phrases that indicate responsibility. In particular, job descriptions that indicate control over a large budget or management over a large number of people yield high Hay Point scores.
You are to implement a simplified Hay Point system. You will be given a Hay Point dictionary and a number of job descriptions. For each job description you are to compute the salary associated with the job, according to the system.
Input
The first line of input contains 2 positive integers: m <= 1000, the number of words in the Hay Point dictionary, and n <= 100, the number of job descriptions. m lines follow; each contains a word (a string of up to 16 lower-case letters) and a dollar value (a integer number between 0 and 1,000,000). Following the dictionary are the n job descriptions. Each job description consists of one or more lines of text; for your convenience the text has been converted to lower case and has no characters other than letters, numbers, and spaces. Each job description is terminated by a line containing a period.
Output
For each job description, output the corresponding salary computed as the sum of the Hay Point values for all words that appear in the description. Words that do not appear in the dictionary have a value of 0.
Sample Input
7 2administer 100000spending 200000manage 50000responsibility 25000expertise 100skill 50money 75000the incumbent will administer the spending of kindergarden milk moneyand exercise responsibility for making change he or she will shareresponsibility for the task of managing the money with the assistantwhose skill and expertise shall ensure the successful spending exercise.this individual must have the skill to perform a heart transplant andexpertise in rocket science.
Sample Output
700150150
题意:就是给出一份字典,相应的单词对应一些数字
要求在给出的一些文本中查找单词,并且计算数字的总数
注意 可能有单词是没有在其中的
题解:按照头字母进行快速排序,然后通过比对首字母进行查找,当查过过相应的首字母,就需要跳出来,这里是个人的优化,虽然好像没有减少太多的时间复杂度
#include<stdio.h>#include<string>#include<iostream>#include<string.h>#include<algorithm>using namespace std;struct dictionary{ string word; int num;}a[1005];int cmp(const void *x,const void *y){ dictionary *A=(dictionary *)x; dictionary *B=(dictionary *)y; return A->word[0]-B->word[0];}int main(){ //freopen("in.txt","r",stdin); int m,n; scanf("%d%d",&m,&n); for(int i=0;i<m;i++){ cin>>a[i].word>>a[i].num; } qsort(a,m,sizeof(dictionary),cmp); string input; int ans=0; while(n--) { while(cin>>input) { if(input=="."){ printf("%d\n",ans); ans=0; break; } for(int i=0;i<m;i++){ int flag=0; if(a[i].word[0]==input[0]){ flag=1; if(a[i].word==input) ans+=a[i].num; } else if(flag) break; } } } return 0;}
0 0
- poj2403 模拟题目
- poj2403
- POJ2403
- POJ2403 Hay Points
- POJ2403 Hay Points
- POJ2403 Hay Points
- 模拟题目HDU2599
- 2014 华为模拟考题目
- poj2403第一次用指针写程序
- 模拟_题目1079:手机键盘
- 模拟_题目1145:Candy Sharing Game
- ACM 模拟退火,DLX题目集合
- POJ 1016 Numbers That Count 模拟题目
- 【East!模拟赛 Round_VI】(YGY_Round) 题目
- HDOJ 题目1035 Robot Motion(模拟)
- HDOJ 题目3257 Hello World!(模拟)
- Berland National Library(模拟题目)
- LeetCode|【模拟大数的运算题目汇总】
- 尺取法应用积累
- java实现客户端与服务器通信
- 关于JAVA环境变量的配置问题
- HDU 5750
- 串行通信总述
- poj2403 模拟题目
- CodeForces 547B - Mike and Feet(单调栈)
- POJ 1703 Find them, Catch them .
- pandas append性能问题
- Bonita BPM Study
- java异常分类
- 内部类
- Reading Books
- csdn待改进点之34------>为什么会又在乱跳转? 请不要说重现不了!