您的位置:首页 > 产品设计 > UI/UE

UVA10420 List of Conquests

2012-07-08 17:02 399 查看
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=98&page=show_problem&problem=1361

题不难 我交了八次。。 刚开始以为还要判断一个国家会不会重复妇女的名字 写的复杂了 一直runtime 看了下别人的代码 知道不用判断 删去了一大部分 之后开始WA 最后找到原因 是因为除国家外 因为不确定名字的字符串数 名字用gets输入

开两个数组 一个存国家 一个存数量 有输入重复的国家 就剪掉

View Code

#include <stdio.h>
#include <stdlib.h>
#include<string.h>
int n, i, j, k;
char country[2001][80], t,c1[80],x[80],num[2000];
int main()
{

memset(num, 0, sizeof(num));
scanf("%d%*c", &n);
for(i = 1 ; i <= n ; i++)
{
scanf("%s", country[i]);
int f = 0;
gets(c1);
for(j = 1 ; j < i ; j++)
{
if(strcmp(country[i],country[j]) == 0)
{
i--;
n--;//有重复 剪掉一个
f = 1;
num[j]++;
break;
}
}
if(!f)
{
num[i]++;
}
}
for(i = 1 ; i < n ; i++)
for(j = 1 ; j <= n-i ; j++)
{
if(strcmp(country[j],country[j+1])>0)
{
strcpy(x,country[j]);
strcpy(country[j],country[j+1]);
strcpy(country[j+1],x);
t = num[j];
num[j] = num[j+1];
num[j+1] = t;
}
}
for(i = 1 ; i <= n ; i++)
printf("%s %d\n", country[i], num[i]);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: