杭电1004

题目地址:

http://acm.hdu.edu.cn/showproblem.php?pid=1004

参考代码:

#include<stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
	int i,n,j,max,tmp;
	char ctmp[16];
	while (scanf("%d",&n)&&n)
	{
		char (*p)[16] = (char(*)[16])malloc(sizeof(char)*n*16);
		int *ip = (int*)malloc(sizeof(int)*n);
		for (i=0;i<n;i++)
		{
			ip[i]=1;
		}
		for (i=0;i<n;i++)
		{
			scanf("%s",p[i]);
			for (j=0;j<i;j++)
			{
				if (strcmp(p[i],p[j])==0)
				{
					ip[i]++;
				}
			}
		}
		for (i=0;i<n-1;i++)//下面两个循环是冒泡排序
		{
			for (j=i;j<n;j++)
			{
				if (ip[i]>ip[j])
				{
					tmp = ip[i];
					ip[i] = ip[j];
					ip[j] = tmp;
					strcpy(ctmp,p[i]);
					strcpy(p[i],p[j]);
					strcpy(p[j],ctmp);
				}
			}
		}
		printf("%s\n",p[n-1]);

	}

}

下面是结果

时间: 2024-09-09 16:12:10

杭电1004的相关文章

算法-C/C++杭电1501题Wooden sticks 求挑错

问题描述 C/C++杭电1501题Wooden sticks 求挑错 DescriptionThere is a pile of n wooden sticks. The length and weight of each stick are known in advance. The sticks are to be processed by a woodworking machine in one by one fashion. It needs some time called setup

acm-求问杭电ACM2010水仙花数,我的这个答案为什么是错的

问题描述 求问杭电ACM2010水仙花数,我的这个答案为什么是错的 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int m=0; int n=0; while(in.hasNext()){ m=in.nextInt(); n=in.nextInt(); if(m<n){ narcissus(m,

测试-杭电c入门简单问题 求指导一下

问题描述 杭电c入门简单问题 求指导一下 题目如下输入n(n<=100)个整数,按照绝对值从大到小排序后输出.题目保证对于每一个测试实例,所有的数的绝对值都不相等. Input输入数据有多组,每组占一行,每行的第一个数字为n接着是n个整数,n=0表示输入数据的结束,不做处理. Output对于每个测试实例,输出排序后的结果,两个数之间用一个空格隔开.每个测试实例占一行. Sample Input3 3 -4 24 0 1 2 -30 Sample Output-4 3 2-3 2 1 0 Aut

杭电 1272 poj 1308 小希的迷宫

这道题是我学了并查集过后做的第三个题,教我们的学姐说这是并查集的基础题,所以有必要牢牢掌握. 下面就我做这道题的经验,给大家一些建议吧!当然,我的建议不是最好的,还请各位大神指出我的错误来,我也好改正. 1.题目概览 这道题是杭电1272,POJ 1308如果写好了代码可以试一试. 小希的迷宫 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s

杭电1002

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1002 #include <stdio.h> #include <string.h> #define MAX 1010 char a[MAX],b[MAX]; int main() { int n,i,j,length,jinwei=0; int flag; char temp; scanf("%d",&n); for(i=0;i<n;i++) { i

杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法

问题描述 杭电 acm 2039 ( 三角形 )判断这样用问什么会通不过呢?哪位大神讲讲正确的用法 三角形 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28002 Accepted Submission(s): 9138 Problem Description 给定三条边,请你判断一下能不能组成一个三角形. Input 输入数据第一行包含

acm-关于杭电ACM2031 进制转换感觉找不出自己的错误,求指出

问题描述 关于杭电ACM2031 进制转换感觉找不出自己的错误,求指出 #includeint main(){ long nr; char a[10000]; while(scanf(""%d%d""&n&r) == 2) { if(n == 0) printf(""0 ""); else { int i = 0; if(n while(n > 0) { a[i++] = n%r; n=n/r; } in

c语言-杭电oj2012素数判定 可以运行为什么通不过

问题描述 杭电oj2012素数判定 可以运行为什么通不过 #include "stdio.h" int main() { int x,y,n,j,s; while( scanf("%d%d",&x,&y)!=EOF) { if( x==0 && y==0 ) break; else { for( n=x; n<=y; n++ ) { s=n*n+n+41; for( j=2; j<=s/2; j++ ) { if( s%j

杭电ACM 2000-&amp;gt;2099 100道题 详细解题报告出炉

我去年暑假花了5天,把杭电ACM网站上2000到2099这100道题全AC了,又花了10来天精心写解题报告.里面包括题目.解题思路.编程技巧以及参考源码.所有代码都是使用C/C++写的. 最近整理资料时无意间发现,打包成chm文件和大家分享.我已经上传到CSDN上了.下载地址:http://download.csdn.net/source/492194 也可到我的Google Sites上下载. 题号 题名 题号 题名 2000 ASCII码排序 2001 计算两点间的距离 2002 计算球体积