#include <stdio.h>
#include <string.h>
#include <stdlib.h> #define STR_LEN 256
struct s_data
{
char str[STR_LEN];
int counter;
};
typedef struct s_data DATA;
typedef struct s_data* PDATA; int find(PDATA *p,char * input,int counter)
{
for (int i = 0 ; i< counter;i++)
{
if(strcmp(p[i]->str,input) == 0)
{
return i;
}
}
return -1;
} void handle(PDATA * p, char * input,int *counter)
{
int ret = find(p,input,*counter);
if(ret == -1)
{
int t_len = strlen(input);
PDATA tmp_data = (PDATA)malloc(sizeof(DATA));
memset(tmp_data,0,sizeof(DATA));
strncpy(tmp_data->str,input,t_len);
tmp_data->counter = 1;
p[*counter]=tmp_data;
*counter = *counter+1;
}
else
{
p[ret]->counter++;
} }
void print(PDATA *p,int counter)
{
int max = 0,index=0;
for (int i=0;i<counter;i++)
{
if(p[i]->counter > max)
{
max=p[i]->counter;
index = i;
}
}
printf("%s\n",p[index]->str);
}
void free(PDATA *p,int counter)
{
for(int i=0;i<counter;i++)
{
if(p[i] != NULL)
{
free(p[i]);
p[i] = NULL;
}
}
} int main()
{
int n = 0;
char input[STR_LEN] = {0};
PDATA p_data[1000]={0};
int counter = 0;
while(scanf("%d",&n)!=EOF)
{
counter = 0;
memset(p_data,0,sizeof(p_data));
if(n==0)
{
break;
}
while(n--)
{
memset(input,0,sizeof(input));
scanf("%s",input);
handle(p_data,input,&counter);
}
print(p_data,counter);
free(p_data,counter);
}
return 0;
}

  

杭电1004 ac code的更多相关文章

  1. 杭电oj1219 AC Me

    Tips:本题中,输入字符串之后,直接从头到尾处理一遍,调用函数判断是否是字母,不要自己写循环判断是否为字母,易超时! 不过本题中有一个疑问,自己最开始用C写的,一直是Time Limit Excee ...

  2. 杭电1004 Let the Balloon Rise

    Let the Balloon Rise Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Oth ...

  3. C#利用POST实现杭电oj的AC自动机器人,AC率高达50%~~

    暑假集训虽然很快乐,偶尔也会比较枯燥,,这个时候就需要自娱自乐... 然后看hdu的排行榜发现,除了一些是虚拟测评机的账号以外,有几个都是AC自动机器人 然后发现有一位作者是用网页填表然后按钮模拟,, ...

  4. 杭电ACM分类

    杭电ACM分类: 1001 整数求和 水题1002 C语言实验题——两个数比较 水题1003 1.2.3.4.5... 简单题1004 渊子赛马 排序+贪心的方法归并1005 Hero In Maze ...

  5. 杭电ACM题单

    杭电acm题目分类版本1 1002 简单的大数 1003 DP经典问题,最大连续子段和 1004 简单题 1005 找规律(循环点) 1006 感觉有点BT的题,我到现在还没过 1007 经典问题,最 ...

  6. 杭电oj————2057(java)

    question:A+ B again 思路:额,没啥思路/捂脸,用java的long包里的方法,很简单,只是有几次WA,有几点要注意一下 注意:如果数字有加号要删除掉,这里用到了正则表达式“\\+” ...

  7. acm入门 杭电1001题 有关溢出的考虑

    最近在尝试做acm试题,刚刚是1001题就把我困住了,这是题目: Problem Description In this problem, your task is to calculate SUM( ...

  8. 杭电acm阶段之理工大版

    想參加全国软件设计大赛C/C++语言组的同学,假设前一篇<C和指针课后练习题总结>没看完的,请先看完而且依照上面的训练做完,然后做以下的训练. 传送门:http://blog.csdn.n ...

  9. 杭电dp题集,附链接还有解题报告!!!!!

    Robberies 点击打开链接 背包;第一次做的时候把概率当做背包(放大100000倍化为整数):在此范围内最多能抢多少钱  最脑残的是把总的概率以为是抢N家银行的概率之和- 把状态转移方程写成了f ...

随机推荐

  1. layui 表格图片放大

    1. 表格塞图片 ,{title: '图片', width:120, templet: function(d) { return '<div onclick="show_img(thi ...

  2. bat语法需要注意的地方

    if else 格式                            if exist C:\Python27  ::空格  (                      ::(与if在同一行  ...

  3. c# 操作文本文件

    计算机在最初只支持ASCII编码,但是后来为了支持其他语言中的字符(比如汉字)以及一些特殊字符(比如€),就引入了Unicode字符集.基于Unicode字符集的编码方式有很多,比如UTF-7.UTF ...

  4. 使用vue-router设置每个页面的title

    进入 router 文件夹底下的index.js文件 首先引入: import Vue from 'vue' import Router from 'vue-router' 然后在路由里面配置每个路由 ...

  5. python 小练习 7

    有一楼梯共n级,刚开始时你在第一级,若每次只能跨上一级或二级,要走上第n级,共有多少种走法? 这其实是fibonacci数列,记走法为f(n),在n-1和n-2时你都可以直接跨上去.因此 f(n) = ...

  6. 1.11 UML 类图(多看多用就熟悉了)(节选自:《大话设计模式》)

    类:用矩形框表示(类图分三层) 第一层显示类的名称:(如果是抽象类,就用斜体显示) 第二层是类的特性,通常就是字段和属性: 第三层是类的操作,通常是方法或行为. (注意前面的符号,“+” 表示 pub ...

  7. Convert java.lang.String to oracle.jbo.domain.Date

    https://www.techartifact.com/blogs/2013/09/converting-java-lang-string-to-oracle-jbo-domain-date.htm ...

  8. PhpDocumentor 生成文档

    最近项目需要phpdoc生成文档,首先安装PhpDocumentor,利用pear安装: 切换用户: su root 安装PhpDocumentor: pear install PhpDocument ...

  9. pandas报错处理:TypeError: Empty 'DataFrame': no numeric data to plot

    Tushare返回的是pandas的DataFrame格式,但是执行以下代码时报错:TypeError: Empty 'DataFrame': no numeric data to plot impo ...

  10. sudo配置教程

    一.相关说明 1.sudo配置文件是/etc/sudoers:另外会自动包含/etc/sudoers.d目录下的文件(/etc/sudoers文件最后有一句“#includedir /etc/sudo ...