HDU2648Shopping

简介: HDU2648Shopping

HDU2648Shopping

分析:map的使用

#include<iostream>
#include<string>
#include<map>
using namespace std;
int n,m,price;
string name;
map<string,int> store;
void print() {
  int cnt = 0;
  for(map<string,int>::iterator it=store.begin(); it!=store.end(); it++) {
    if(it->second > store["memory"]) {
      cnt++;
    }
  }
  cout<<(cnt+1)<<endl;
}
int main() {
  while(cin>>n) {
    //cin>>n;
    store.clear();
    for(int i=0; i < n; i++) {
      cin>>name ;
      store[name] = 0;
    }
    cin>>m;
    for(int i = 0; i<m; i++) {
      for(int j = 0; j < n; j++) {
        cin>>price>>name;
        store[name] += price;
      }
      print();
    }
  }
  return 0;
}
相关文章
|
8月前
|
安全
Leetcode 198. House Robber
一句话理解题意,有个偷马贼晚上要偷尽可能值钱的马,但连续两头马被偷会触发报警,问他如何在不触发报警(不偷连续的两匹马)的情况下偷到总价值最高马,返回最高总价值。
34 3
LeetCode 337. House Robber III
在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识到“这个地方的所有房屋的排列类似于一棵二叉树”。 如果两个直接相连的房子在同一天晚上被打劫,房屋将自动报警。 计算在不触动警报的情况下,小偷一晚能够盗取的最高金额。
44 0
LeetCode 337. House Robber III
|
安全
LeetCode 213. House Robber II
你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。
59 0
LeetCode 213. House Robber II
Leetcode:House Robber II
Leetcode:House Robber II
105 0
Leetcode:House Robber II
|
Java
HDOJ(HDU) 2164 Rock, Paper, or Scissors?
HDOJ(HDU) 2164 Rock, Paper, or Scissors?
100 0
|
算法 iOS开发
|
Java 知识图谱
|
机器学习/深度学习 Java 网络架构