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

UVA-10420 List of Conquests

2016-07-16 10:21 393 查看
2016-07-16


UVA - 10420 List of Conquests

题目大意:输入一个国家和一个女人的名字,统计每个国家有多少人,按字典序输出。所以名字并没有什么卵用。

解题思路:读入国家,排序,遍历,与前一个相同则人数 +1,不同就输出。

注意:先进行排序的话会简单很多。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdlib.h>
using namespace std;

char str1[10000][10000];
char str2[10000][10000];
int num[10000];
char country[10000][1000];
int temp = 0;

int comp ( const void*a , const void *b ) {
char *_a = (char*)a;
char *_b = (char*)b;
return strcmp(_a,_b);
}

int main() {
memset ( num , 0 , sizeof(num) );
int n;
cin >> n;
for (int i = 0; i < n; i++) {
cin >> str1[i];
gets(str2[i]);
}
qsort( str1 , n , sizeof(str1[0]) , comp );
strcpy(country[0],str1[0]);
num[0]++;
temp++;
for (int i = 0; i < n-1; i++) {
if ( !strcmp( str1[i] , str1[i+1] ) )
num[temp-1]++;
else {
strcpy( country[temp] , str1[i+1] );
num[temp]++;
temp++;
}
}
for (int i = 0; i < temp; i++)
cout << country[i] << " " << num[i] << endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: