Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2794804
  • 博文数量: 471
  • 博客积分: 7081
  • 博客等级: 少将
  • 技术积分: 5369
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 21:55
文章分类

全部博文(471)

文章存档

2014年(90)

2013年(69)

2012年(312)

分类: C/C++

2012-08-07 14:14:05

题目:
(a b c d e)
(a b c d )
(a c f e)
这不就是求,含有最多战士的等级人数
本题的本质是——求相同级别(level)的人最多是几个
Sample Input
4 ((0<=N<=300)4个战士,下面4行,表示这个战士的level(小于30个数字,仲表示非负数,顶))
10
20
30
04
5
2
3
4
3
4
 

点击(此处)折叠或打开

  1. /*hdu 1800 最大分配 2011.10.12*/
  2. #pragma warning(disable:4786)

  3. #include <iostream>
  4. #include<map>
  5. #include<string>
  6. using namespace std;



  7. int main(int argc, char *argv[])

  8. {

  9.     int n;
  10.     while(scanf("%d",&n)==1)
  11.     {
  12.         int i;
  13.         map<string,int> mp;
  14.         int max=INT_MIN;
  15.         for(i=0;i<n;i++)
  16.         {
  17.             char level[30];
  18.             //scanf("%d",&level);
  19.             scanf("%s",&level);
  20.             mp[level]++;
  21.             if(mp[level]>max)
  22.             {
  23.                 max=mp[level];
  24.             }

  25.         }
  26.         printf("%d\n",max);

  27.     }

  28.     return 0;

  29. }

阅读(1504) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~