hdu 2648 Shopping

hdu 2648 Shopping

Shopping
Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 1400 Accepted Submission(s): 456

Problem Description
Every girl likes shopping,so does dandelion.Now she finds the shop is increasing the price every day because the Spring Festival is coming .She is fond of a shop which is called “memory”. Now she wants to know the rank of this shop’s price after the change of everyday.

Input
One line contians a number n ( n<=10000),stands for the number of shops.
Then n lines ,each line contains a string (the length is short than 31 and only contains lowercase letters and capital letters.)stands for the name of the shop.
Then a line contians a number m (1<=m<=50),stands for the days .
Then m parts , every parts contians n lines , each line contians a number s and a string p ,stands for this day ,the shop p ‘s price has increased s.

Output
Contains m lines ,In the ith line print a number of the shop “memory” ‘s rank after the ith day. We define the rank as :If there are t shops’ price is higher than the “memory” , than its rank is t+1.

Sample Input
3
memory
kfc
wind
2
49 memory
49 kfc
48 wind
80 kfc
85 wind
83 memory

Sample Output
1
2

Author
dandelion

Source
曾是惊鸿照影来

Recommend
yifenfei

//1218MS    1136K    754 B    C++
//开始还想用排序,后来想想只用容器就够了
//代码好像也写复杂了,id不用另外记录
//在循环中每次循环比较一次就行了 
#include<iostream>
#include<algorithm>
#include<string>
#include<map>
using namespace std;
struct node{
    int id;
    int s;
}a[10005];
int main(void)
{
    int n,m,p,id;
    string c;
    map<string,int>M;
    while(cin>>n)
    {
        M.clear();
        for(int i=0;i<n;i++){
            cin>>c;
            M[c]=i;
            if(c=="memory") id=i;
            a[i].s=0;
            a[i].id=i;
        }
        cin>>m;
        while(m--){
            for(int i=0;i<n;i++){
                cin>>p>>c;
                a[M[c]].s+=p;
            }
            int cnt=0;
            for(int i=0;i<n;i++)
                if(a[i].s>a[id].s) cnt++;
            printf("%d\n",cnt+1);
        }
    }
    return 0;
}

 

转载于:https://www.cnblogs.com/GO-NO-1/articles/3333376.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/110011.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • push master was rejected by remote(airpush)

    idea中,发布项目到OSChina的Git中,当时按照这样的流程添加Git,然后push,提示:pushtoorigin/masterwarrejected”。大概原因是:初始化项目时,远程仓库我建了README.md文件,而本地仓库与远程仓库尚未进行文件关联,因此需要将两个仓库的文件进行关联后提交。解决方案如下:1.切换到自己项目所在的目录,右键选择GITB…

  • plsql oracle 使用教程

    plsql oracle 使用教程课程一PL/SQL基本查询与排序    本课重点:    1、写SELECT语句进行数据库查询    2、进行数学运算    3、处理空值    4、使用别名ALIASES    5、连接列    6、在SQLPLUS中编辑缓冲,修改SQLSCRIPTS    7、ORDERBY进行排序输出。  8、使用WHERE字段。    一…

  • [转]Asp.Net MVC 扩展联想控件

    [转]Asp.Net MVC 扩展联想控件

  • GoLand 2021.7.20 激活码【永久激活】

    (GoLand 2021.7.20 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.cn/100143.html…

  • Java中的LinkedList的方法的应用

    Java中的LinkedList的方法的应用LinkedList其实也就是我们在数据结构中的链表,这种数据结构有这样的特性:分配内存空间不是必须是连续的;插入、删除操作很快,只要修改前后指针就OK了,时间复杂度为O(1);访问比较慢,必须得从第一个元素开始遍历,时间复杂度为O(n);在Java中,LinkedList提供了丰富的方法,可以模拟链式队列,链式堆栈等数据结构,为用户带来了极大的方便,下面看看这些方法的用法:addboole

  • 图片存储方案[通俗易懂]

    图片存储方案[通俗易懂]介绍在实际开发中,我们会有很多处理不同功能的服务器。例如:应用服务器:负责部署我们的应用数据库服务器:运行我们的数据库文件服务器:负责存储用户上传文件的服务器分服务器处理的目的是让服务器各司

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号