hdoj1004(查找众多字符串中个数最多的字符串)

HDOJ-1004 统计颜色数量最多的气球(含完整C和Java代码) 题目如下图: 很容易能看懂的是: 输入时首先需要输入气球的数量n 然后,给出对应的n个颜色 输出颜色数量最多的气球颜色 要求实现可以在给出结果后自动进入下一次输入 以0结束程序 C语言代码如下: #include<stdio.h> // 题目涉及到输入输出 #include<string.h> // 题目涉及到字符串处理 #define N 1001 //题目中说... 阅读详情

Let the Balloon Rise.

最近开始刷hdoj,想通过写博客做做笔记,记录写过代码。

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

分析:

本题的目的是将众多字符串中的出现个数最多的字符串找到并输出。

1.在用c/c++编写的时候,可以使用字符型的二维数组存字符串。数组一般声明得稍大些。

2.思路是计算每一个字符串s[j]后面的与s[j]相同的字符串的个数a[j],若a[j]>max,则max=a[j];flag=j,最后flag中存储的就是个数最多的字符串第一次出现的下标。

3.用int strcmp(char[],char[])==0?来判断字符串是否相同。

下面是AC代码:

#include<stdio.h>
#include<string.h>
#define maxn 1005     //N<=1000,数组一般声明得稍大些,所以我设1005
int main(){
	int n,flag,max;    //max用来存当前颜色最多的字符串个数,flag存其下标
	int a[maxn];       //用来存放每个字符串后面的与其相同的字符串个数
	char s[maxn][16];
	while(scanf("%d",&n)!=EOF&&n){     
		max=0;
		flag=0;
		for(int i=0;i<n;i++)    //输入字符串
			scanf("%s",s[i]);
		for(int j=0;j<n;j++){    //比较两个字符串,如果相同,则对应a[j]++
			a[j]=0;
			for(int k=j+1;k<n;k++)    
				if(strcmp(s[j],s[k])==0)
					a[j]++;
			if(a[j]>max){
				max=a[j];
				flag=j;
			}
		}
		printf("%s\n",s[flag]);    //输出最大个数的字符串
	}
	return 0;
}

最后,我有个疑问,就是假如输入的字符串个数最多的不止一种,该怎么办?例如

red

pink

black

red

pink

我的处理方法是输出先达到max的字符串,也就是靠前的,即“red"。如果大家有别的见解,欢迎提出来给大家分享分享。

 

hdoj1004 解题代码 答案 hdoj1004,解题代码,答案代码,欢迎下载 立即下载

相关推荐

HDOJ1004

ACM ICPC HDOJ1004

HDOJ 1004 Let the Balloon Rise 让气球升起来

根据输入的颜色(实际就是一个一个的token),统计出颜色最多的那个。实际是记录哪个字符串出现的次数最多。使用HashMap记录各个串对应的次数就好,最终输出次数最多的串。 package string; import java.util.HashMap; import java.util.Scanner; /** * Created by yangyuan on 2017/12/12

梵高先生的专栏 530

STM32硬件SPI驱动W25Q128实战:从CubeMX配置到DMA高速读写(附完整代码)

本文详细介绍了如何使用STM32硬件SPI驱动W25Q128 Flash存储器,从CubeMX配置到DMA高速读写的完整实战指南。内容包括硬件连接方案、SPI参数优化、DMA配置技巧以及完整代码实现,帮助开发者快速掌握高速稳定的SPI Flash存储解决方案。

weixin_33734785的博客 185

HDOJ热身赛1004--复习下排列组合公式

做了许久. 公式: 打表. #include #include __int64 tab[65][65]; int main() { int n; int a,b; for(a=0;a<62;a++) { tab[a][0]=1; tab[a][a]=1; } tab[1][1]=1; for(a=2;a<62;a++) for

uiiの技术随笔 840

从Mate到Mate40 Pro+:华为旗舰核心配置演进与选购避坑指南

本文回顾了华为Mate系列从初代到Mate40 Pro+的核心配置演进历程,重点分析了处理器性能、影像系统、屏幕设计及续航快充的技术突破。针对选购需求,提供了区分版本、5G选择及存储配置的实用避坑建议,帮助消费者明智选择华为旗舰机型。

weixin_30015371的博客 494

R语言笔记三:矩阵、数组、列表和数据框

1.矩阵        矩阵是二维的,需要有行和列。向量是一维的。        在R软件中,矩阵是有维数的向量,这里的矩阵元素可以是数值型、字符型或者逻辑型,但是每个元素必须拥有相同的模式,这个和向量一致。 (1)创建矩阵: m <- matrix(1:20,4,5) 行数和列数的分配必须满足分配条件。若分配的行列过大,分配的元素不足够,则报错。 m <-

weixin_44384631的博客 6211

算法入门数学题hdoj 1004

1.数学题对于算法的要求不是很多,主要包括数学公式、数学定理,很适合做为研究算法和acm入门题型。hdoj 上面一些数学题分类:1004、1005、1008、1009 、1060 1012~1014、1019~1021 、1061、1049、1066 、1178、1108、1030 、1071、1597。 1004:是acm的一道比赛题目,可以使用STL,或者string类。stl代码

icoco 1098

Unity插件UniWebView实战:UGUI动态调整内嵌网页尺寸与交互优化

本文详细解析了如何在Unity游戏中使用UniWebView插件实现内嵌网页的动态尺寸适配与深度交互。核心在于利用Reference Rect Transform属性,将网页窗口精准绑定至UGUI控件,并随其动态调整。文章进一步探讨了通过消息系统与JavaScript执行实现Unity与网页的双向通信,并提供了加载优化、过渡动画及事件拦截等实用技巧,助力开发者打造无缝、流畅的游戏内网页体验。

earth的博客 276

HDOJ_1004

HDOJ_1004 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 ...

台风天赋的博客 467

Mac新手必看:用Homebrew安装wget的保姆级教程,附常见报错一键修复

本文为Mac新手提供使用Homebrew安装wget的详细教程,涵盖从Homebrew安装到wget基础使用的全流程,并附常见报错一键修复方案。通过本指南,用户可轻松掌握命令行下载工具wget的安装与使用技巧,解决Mac环境下资源下载的各种问题。

weixin_30635053的博客 367

dify安装ollama插件及OLLAMA模型添加失败问题完整解决方法

plugin_daemon-1 | 2025/05/10 17:37:36 stdio.go:160: [INFO]plugin langgenius/ollama:0.0.6: Installed model: ollama 提示ollama安装成功,再添加模型就不会有问题了。安装dify1.2.0和1.3.1均出现OLLAMA插件安装失败或插件安装后添加模型失败的问题,具体表现为一是添加ollama插件时没反应,需要二次添加才成功;二是添加模型时点保存报500错误或点保存后没反应,无法成功添加。

symstandsun的博客 9079

hdoj 1004 寻找气球颜色出现最多次数

参加ACM培训的第四天 感觉自己的C基础太差了,接下来的任务就是先理顺方法,每天争取吃透两道题即可! 今天,小编在hdoj找到一道基础题,题目不难,但涉及了好多自己不懂的方法,在这里和大家分享下(初学者) 题目如下:Let the Balloon RiseTime Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K

张小V 2327

损失函数大汇总(五十三)(Boundary Loss附公式推导与代码)

摘要 Boundary Loss是一种针对图像分割任务的新型损失函数,特别适用于高度类别不平衡的细粒度分割场景。与传统的区域型损失(如Dice、交叉熵)不同,它通过计算预测边界与真实边界之间的距离来优化模型,更关注边界精度而非区域重叠。核心思想是利用距离图(distance map)将边界约束转化为区域积分形式,实现端到端训练。具体实现中,损失函数为预测概率与距离图的点积,梯度仅取决于距离图,具有明确的空间引导性。相比区域型损失,Boundary Loss能更好处理小目标、细长结构等边界敏感任务,可与Dic

悦学共鸣,温柔以待,汇聚光芒,共同成长 240

HDOJ1004 Let the Balloon Rise

HDOJ1004 题目 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. T...

hfut橘生淮南的博客 222

使用Matlab实现海洋监视雷达检测仿真

海洋监视雷达是一项重要的海洋探测技术,可以用于海上船只、飞机、潜艇等目标的探测和监视,具有广泛的应用价值。本篇文章将介绍如何使用Matlab进行海洋监视雷达的检测仿真,并提供相应的源代码。本篇文章提供了利用Matlab进行海洋监视雷达检测仿真的基本思路和代码实现。读者可以根据自己的需求进行修改和优化,以适应不同的应用场景。使用Matlab实现海洋监视雷达检测仿真。

2301_78484069的博客 448

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

1004/找出现最多的字符串

HDOJ 1004 题目描述: 输入:第一行输入气球的个数,以下n行是n个气球的颜色,n为0时结束 输出:最多相同颜色的气球的颜色 自己的代码如下:# include # include # include using namespace std; int main() { int n,j,t,k,num; int i; int max,t_max; char *

xiongchuquan的专栏 550

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

杭电oj HDOJ 1004 Let the Balloon Rise

杭电oj HDOJ 1004 Let the Balloon Rise 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 ...

qq_39880604的博客 199

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

hdoj1004遇到的问题总结及源代码

今天在做hdoj的1004题时自己测试感觉答案是正确的,但是就是死活过不了,一直wronganswer,看了半天自己写的代码,一直觉得没问题,在洗澡的时候突然想起我每次测试都是直接拷贝的给的示例输入,我用Scanner读入字符串是用的nextLine();这个方法是读取一行,包括空格,TAB,知道遇到回车换行结束,就是因为这个,在拷贝的时候中间有空格没注意导致一直wrong answer。想了想应

jnuyanfa的博客 719

HDOJ 1004 Let the Balloon Rise 超详细

HDOJ 1004 Let the Balloon Rise 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

qascetic的博客 1266

HDOJ---1004(Let the Ballon Rise)

/** HDOJ----1004(Let the Balloon Rise) */ #include #include int main() { int n,i,j,count=0,max; char ballon[1000][15]; int num[1000]; char temp[15];/** 缓存输入的气球颜色。*/ int flag;

westsxj0905的专栏 695

HDOJ 1004

HDOJ 1004 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 ...

凡_少的博客 305

HDOJ 1004 Letthe Balloon Rise (寻找最多的颜色)

Letthe Balloon Rise   Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 106509    Accepted Submission(s):41255     Problem Description

Shyazhut 692
下一篇: hdoj1005(循环,找规律)
Frank__Chen
博客等级 码龄8年 3粉丝 21原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值