Let the Balloon Rise

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 57556    Accepted Submission(s): 21037

Problem Description
Contest time again! How excited it is to see balloons floating around. But to tell you a secret, the judges' favorite time is guessing the most popular problem. When the contest is over, they will count the balloons of each color and find the result.

This year, they decide to leave this lovely job to you.

 
Input
Input contains multiple test cases. Each test case starts with a number N (0 < N <= 1000) -- the total number of balloons distributed. The next N lines contain one color each. The color of a balloon is a string of up to 15 lower-case letters.

A test case with N = 0 terminates the input and this test case is not to be processed.

 
Output
For each case, print the color of balloon for the most popular problem on a single line. It is guaranteed that there is a unique solution for each test case.
 
Sample Input
5
green
red
blue
red
red
3
pink
orange
pink
0
 
Sample Output
red
pink

hdu_1004_Let the Balloon Rise_201307271045.c

#include <stdio.h>
#include <string.h>
int main()
{
 char str[1010][18];
 int n;
 while(scanf("%d",&n),n)
 {
 int i,j,k,m=0,num=0;
 char str1[18],str2[18];
 for(i=0;i<n;i++)
 {
  gets(str[i]);
 }
 for(j=1;j<n;j++)
 for(i=0;i<n-j;i++)
 if(strcmp(str[i],str[i+1])>0)
 {
  strcpy(str1,str[i]);
  strcpy(str[i],str[i+1]);
  strcpy(str[i+1],str1);
 }
 strcpy(str2,str[0]);
    for(i=0;i<n;i++)
    {
     if(strcmp(str2,str[i])==0)
     num++;
     else
     {
      strcpy(str2,str[i]);
      num=1;
      if(num>m)
      {
         m=num;
        
         k=i-1;
      }
     }
    }
    if(num>m)
    {
     m=num;        
        k=i-1;
    }
    printf("%s\n",str[k]);
 }       
 return 0; 
}

//超时

//参考代码如下:

#include <stdio.h>
#include <string.h>
main(){
    int n, i, j, t, max, num[1000];
    char color[1000][16];
    while(scanf("%d", &n) != EOF){
        if(n){
            num[0]=0;
            scanf("%s", color[0]);
            for(i=1; i <n; i++){
                num[i]=0;
                scanf("%s", color[i]);
                for(j=0; j <i-1; j++)
                    if(strcmp(color[i], color[j])==0) num[i] +=1;
            }
            max=num[0];
            t=0;
            for(i=1; i <n; i++)
               if(max <num[i]) {max =num[i]; t=i;}
            printf("%s\n",color[t]);
        }
    }
}

//
 
改后代码:
#include <stdio.h>
#include <string.h>
int main()
{
 char str[1010][18]; 
 int n;
 while(scanf("%d",&n),n)
 {
  int i,j,k,max;
  int num[1010]={0};
  k=max=0;
  for(i=0;i<n;i++)
  {
   scanf("%s",str[i]);
   for(j=0;j<i;j++)
   if(strcmp(str[i],str[j])==0)
   num[i]++;   
   if(num[i]>max)
   {
    max=num[i];
    k=i;
   }
  }
  printf("%s\n",str[k]);
 }
 return 0;
}

【ACM】hdu_1004_Let the Balloon Rise的更多相关文章

  1. 【ACM】hdu_1004_Let the Balloon Rise_201308141026-2

    Let the Balloon RiseTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  2. 高手看了,感觉惨不忍睹——关于“【ACM】杭电ACM题一直WA求高手看看代码”

    按 被中科大软件学院二年级研究生 HCOONa 骂为“误人子弟”之后(见:<中科大的那位,敢更不要脸点么?> ),继续“误人子弟”. 问题: 题目:(感谢 王爱学志 网友对题目给出的翻译) ...

  3. 【ACM】HDU1008 Elevator 新手题前后不同的代码版本

    [前言] 很久没有纯粹的写写小代码,偶然想起要回炉再来,就去HDU随便选了个最基础的题,也不记得曾经AC过:最后吃惊的发现,思路完全不一样了,代码风格啥的也有不小的变化.希望是成长了一点点吧.后面定期 ...

  4. 【ACM】魔方十一题

    0. 前言打了两年的百度之星,都没进决赛.我最大的感受就是还是太弱,总结起来就是:人弱就要多做题,人傻就要多做题.题目还是按照分类做可能效果比较好,因此,就有了做几个系列的计划.这是系列中的第一个,解 ...

  5. 【ACM】那些年,我们挖(WA)过的最短路

    不定时更新博客,该博客仅仅是一篇关于最短路的题集,题目顺序随机. 算法思想什么的,我就随便说(复)说(制)咯: Dijkstra算法:以起始点为中心向外层层扩展,直到扩展到终点为止.有贪心的意思. 大 ...

  6. 【Acm】算法之美—Crashing Balloon

    题目概述:Crashing Balloon On every  June 1st, the Children's Day, there will be a game named "crash ...

  7. 【ACM】不要62 (数位DP)

    题目:http://acm.acmcoder.com/showproblem.php?pid=2089 杭州人称那些傻乎乎粘嗒嗒的人为62(音:laoer).杭州交通管理局经常会扩充一些的士车牌照,新 ...

  8. 【Acm】八皇后问题

    八皇后问题,是一个古老而著名的问题,是回溯算法的典型例题. 其解决办法和我以前发过的[算法之美—Fire Net:www.cnblogs.com/lcw/p/3159414.html]类似 题目:在8 ...

  9. 【ACM】hud1166 敌兵布阵(线段树)

    经验: cout 特别慢 如果要求速度 全部用 printf !!! 在学习线段树 内容来自:http://www.cnblogs.com/shuaiwhu/archive/2012/04/22/24 ...

随机推荐

  1. gdb 断点调试C程序

    最近在看CS50的公开课,视频中david用gdb调试C,我跟着敲,一样的代码但是却显示效果与他不一样.因为他的程序是编译好了的,所以也没看到编译步骤,后来回想一下他make 文件名 显示的代码中有一 ...

  2. EOJ 3384 食物链

    动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形.A 吃 B,B 吃 C,C 吃 A. 现有 N 个动物,以 1-N 编号.每个动物都是 A,B,C 中的一种,但是我们并不知道它到 ...

  3. 5-7 第五天 微信 JS-SDK-简介

    微信的SDK显然呢并不是在这个公众号里面直接使用的,而是在网页里面使用的.什么样的网页呢?就是微信内置的浏览器.你从朋友圈.从好友消息.从群消息,确定是从公众号的回复里面打开一个链接. 便会启动一个浏 ...

  4. [JavaEE] JBoss主要版本下载链接一览

    URL: http://teddysun.com/260.html JBoss在2006年被 RedHat 收购.在各种 J2EE 应用服务器中,JBoss 是最受欢迎而且功能最为强大的应用服务器.不 ...

  5. 动态title

    <html><head><meta charset="uft8"><title>测试title</title></ ...

  6. Winform 异步调用

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  7. Apache 虚拟主机 配置方法

    打开httpd.conf文件 去掉LoadModule vhost_alias_module modules/mod_vhost_alias.so前面的#号 去掉Include conf/extra/ ...

  8. D - Vanya and Fence

    Problem description Vanya and his friends are walking along the fence of height h and they do not wa ...

  9. JavaScript 元素的插入顺序以及动态加载js

    *****************记录下今天的心得***************** 1.元素的插入顺序 需求:异步从后台读取两个数据a和b,并动态加载到父容器x中,要求a必须在b的左边 实际情况:一 ...

  10. EntityFramewok 插入Mysql数据库 中文产生乱码解决

    首先Mysql表,建表的时候,有没有选择UTF8,如果是默认的编码latin1,就会产生乱码 这里修改后,还是乱码,那就要检查发生乱码的列是不是UTF8格式 然后修改App.Config或者Web.C ...