hdu 1263 과일 맵 의 이중 용법 은 정말 멋 있 고 중요 합 니 다.

과일.
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1553    Accepted Submission(s): 616
Problem Description
여름 이 왔 다 ~ ~ 신 난다 ㅋ 과일 이 많다 ~ ~
조 이 는 크 지 않 은 과일 가 게 를 운영 하고 있다. 그 는 생존 의 길 은 고객 들 에 게 가장 인기 있 는 과일 을 경영 하 는 것 이 라 고 생각한다. 지금 은 과일 판매 상황 에 대한 내 역 표를 원한 다. 그러면 조 이 는 모든 과일 판매 상황 을 쉽게 파악 할 수 있다.
 
Input
첫 번 째 줄 의 정수 N (0 < N < = 10) 은 N 조 테스트 데이터 가 있 음 을 나타 낸다.
각 조 의 테스트 데이터 의 첫 번 째 줄 은 정수 M (0 < M < = 100) 으로 작업 자가 M 번 의 성공 적 인 거래 를 한 다 는 것 을 나타 낸다. 그 다음 에 M 줄 의 데이터 가 있 고 각 줄 은 한 번 의 거래 를 나타 내 며 과일 이름 (소문 자로 구성 되 고 길 이 는 80 을 초과 하지 않 음), 과일 산지 (소문 자로 구성 되 며 길 이 는 80 을 초과 하지 않 음) 와 거래 하 는 과일 수량 (정수, 100 을 초과 하지 않 음) 으로 구성 된다.
 
Output
각 조 의 테스트 데이터 에 대해 서 는 조판 형식 이 정확 한 과일 판매 상황 내 역 표를 출력 해 주 십시오. 이 내 역 표 는 모든 과일의 산지, 명칭 과 판매 수량 에 대한 정 보 를 포함 합 니 다. 과일 은 먼저 산지 에 따라 분류 하고 산 지 는 알파벳 순 으로 배열 합 니 다.같은 산지 의 과일 은 이름 에 따라 정렬 되 고 이름 은 알파벳 순 으로 정렬 된다.
두 그룹의 테스트 데이터 사이 에 빈 줄 이 하나 있 습 니 다. 마지막 그룹의 테스트 데이터 이후 빈 줄 이 없습니다.
 
Sample Input

   
   
   
   
1 5 apple shandong 3 pineapple guangdong 1 sugarcane guangdong 1 pineapple guangdong 3 pineapple guangdong 1

 
Sample Output

   
   
   
   
guangdong |----pineapple(5) |----sugarcane(1) shandong |----apple(3)
map
 
#include<stdio.h>
#include<string>
#include<map>
#include<iostream>
using namespace std;
int main()
{
	int n,i,j,cas,m;
	string name,space;
    scanf("%d",&cas);
	map<string,map<string,int> >mp;
	while(cas--)
	{
		mp.clear();
		scanf("%d",&n);
		while(n--)
		{
               cin>>name>>space>>m;
			   mp[space][name]+=m;
		}
		map<string,map<string,int> >::iterator it1;
		for(it1=mp.begin();it1!=mp.end();it1++)
		{
			cout<<it1->first<<endl;
			map<string,int>::iterator it2;
			for(it2=it1->second.begin();it2!=it1->second.end();it2++)
				cout<<"   "<<"|----"<<it2->first<<"("<<it2->second<<")"<<endl;
		}
		if(cas!=0) cout<<endl;

	}
	return 0;
}

좋은 웹페이지 즐겨찾기