uva 10420 - List of Conquests

题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&category=98&problem=1361&mosmsg=Submission+received+with+ID+11590304

 

题目比较简单,只需统计国家名,人名不用care。分别用java和c写了下,都AC了。

import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class Uva10420 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner cin = new Scanner(System.in);
		int n;
		Map<String, Integer> countries = new TreeMap<String, Integer>();
		n = cin.nextInt();
		while (n-- > 0) {
			String country = cin.next();
			if (!countries.containsKey(country)) {
					countries.put(country, 1);
			}
			else
			{
				countries.put(country, countries.get(country)+1);
			}
			
			cin.nextLine();
		}
		
		for(String each:countries.keySet())
		{
			System.out.println(each+" "+countries.get(each));
			
		}

	}

}

 

/*
 * uva10420.cpp
 *
 *  Created on: 2013-4-11
 *      Author: kevinjiang
 */
#include<cstdio>
#include<cstdlib>
#include<cstring>

char countries[2005][80];
char noUse[80];

int cmp(const void *a, const void *b) {

	return strcmp((char*) a, (char*) b);

}

int main() {
	int n;
	scanf("%d", &n);
	for (int i = 0; i < n; i++) {
		scanf("%s", countries[i]);
		gets(noUse);
	}
	//sort
	qsort(countries, n, sizeof(countries[0]), cmp);

	int count=1;
	for (int i = 0; i < n; i++) {
		if (strcmp(countries[i], countries[i + 1]) == 0) {
			count++;
		}
		else
		{
			printf("%s %d\n",countries[i],count);
			count=1;
		}

	}

	return 0;
}

 

你可能感兴趣的:(uva 10420 - List of Conquests)