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

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nslookup两种错误解决方法

    nslookup两种错误解决方法

    2021年8月14日
    344
  • yarn一些最佳配置

    yarn一些最佳配置

    2021年11月27日
    57
  • 浅谈数字音视频传输网络——AVB[通俗易懂]

    AVB有两种流格式:AM824和AAF。AM824支持24bit音频,iec60958音频编码(SPDIF和AES3),SMPTE时间码和MIDI。对于发送端AM824有三个选项“non-blocking(sync)”、“non-blocking(aync)”和“blocking”。流量整形是为了避免在以太网中发生丢弃数据的情况,通常采用漏桶算法(LeakyBucket)来完成流量整形或速率限制(RateLimiting)。它的主要目的是控制数据注入到网络的速率,平滑网络上的突发流量。

    2022年4月14日
    267
  • ccf csp认证真题(护师考试历年真题)

    CSP认证考什么怎么考?CCF计算机职业资格认证的每一道试题都十分经典,覆盖现实世界中方方面面的问题。这个历年试题解主要使用C/C++语言编写,将逐步增加Python和Java的解题程序。程序中附有注释,力求解题思路清晰简洁,值得珍藏与模仿。逐题改写过程中,富文本编辑器写的博客将全部用Markdown编辑器改写。改写的第一题,都增加了Python和Java的解题程序。2021.04第22次:CCF202104-1灰度直方图(100分)【计数】CCF202104-2邻域均值(100分.

    2022年4月17日
    47
  • Oracle修改system用户密码[通俗易懂]

    Oracle修改system用户密码[通俗易懂]服务器上oracle经常会使用plsqldeveloper访问,很多时候我们用的服务器,或者之前的密码我们并不知道,这个时候需要修改system的用户密码,当然也可以无用户登录,但是修改必然还是好些。下面讲讲方法,windows服务器,oracle11g。windows服务器:打开cmd运行命令 输入sqlplus/nolog—–实现无用户名登录       con…

    2022年7月28日
    8
  • java 入门面试题

    java 入门面试题起因焦虑。每次自己想跳槽的时候,内心总是担忧着那些面试题怎么解答。 很多问题在实际工作中并不会遇到,没有实际的解决问题经验,看过也记不住。 假如我明年需要换工作,那现在把下次的面试准备工作,拆分、融入到平时的每天中,会不会取得更满意的offer?目标收集网上各种经典的java面试题 做出答案,分享出去,和猿友讨论,不断进步 扩大知识图谱,扎实基础,梳理知识脉络…

    2022年5月27日
    34

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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