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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • IDEA 安装 Lombok 插件

    IDEA 安装 Lombok 插件

    2021年7月11日
    122
  • 源码免杀教程 源码免杀思路详解

    绝对不一样的源码免杀教程!绝对不一样的免杀实战体验!清晰的思路!细致全面的思路详解!让你感到免杀原来可以这么简单!教你如何在源代码中找出被杀代码,修改代码从而达到免杀效果!免杀之-网络攻防入门书籍推荐《精通黑客免杀》一部关于黑客免杀技术的书籍,学习各种免杀,躲避杀毒软件的追杀,为自己的马放下一道赦免令。目前国内关于黑客免杀技术的书籍应该很少的,大致可以说是没有。在本书中所介绍的启发式扫描免杀…

    2022年4月4日
    362
  • 高级设置电脑系统windows7防火墙出错代码0×6D9原因与解决技巧

    高级设置电脑系统windows7防火墙出错代码0×6D9原因与解决技巧

    2021年9月23日
    65
  • idea2021.2激活码[最新免费获取][通俗易懂]

    (idea2021.2激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~70YZ…

    2022年3月27日
    169
  • leetcode-150. 逆波兰表达式求值(栈)

    leetcode-150. 逆波兰表达式求值(栈)根据 逆波兰表示法,求表达式的值。有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1:输入:tokens = [“2″,”1″,”+”,”3″,”*”]输出:9解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9示例 2:输入:tokens = [“4″,”13″,”5″,”/”,”+”]输

    2022年8月11日
    5
  • matlab极坐标拟合函数,(50分)matlab极坐标角度设定

    matlab极坐标拟合函数,(50分)matlab极坐标角度设定满意答案要好好的活 04 13 采纳率 48 等级 13 已帮助 10202 人这两个命令的角度是定死的 没有提供任何接口去修改 你一定要改 就只能改这两个命令的源代码了打开 polar m 后可以找到下面这段语句 plotspokesth 1 6 2 pi 12 cst cos th snt sin th cs cst cst sn s

    2025年9月13日
    2

发表回复

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

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