UVA-10420 List of Conquests

来源:互联网 发布:voip网络电话软件 编辑:程序博客网 时间:2024/06/05 17:12

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;}


0 0
原创粉丝点击