【HDU - 1263】 水果(STL)
生活随笔
收集整理的這篇文章主要介紹了
【HDU - 1263】 水果(STL)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題干:
夏天來了~~好開心啊,呵呵,好多好多水果~~?
Joe經營著一個不大的水果店.他認為生存之道就是經營最受顧客歡迎的水果.現在他想要一份水果銷售情況的明細表,這樣Joe就可以很容易掌握所有水果的銷售情況了.?
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 1Sample Output
guangdong|----pineapple(5)|----sugarcane(1) shandong|----apple(3)?
解題報告:
? 熟練運用容器map。(二維map可解)
?
AC代碼:
#include<bits/stdc++.h>using namespace std;int n;map<string ,map<string,int> > mp; map<string ,map<string,int> > ::iterator it; map<string,int> ::iterator itt; int main() {int t;int num;cin>>t;string name,add;while(t--) {//初始化 scanf("%d",&n);mp.clear();for(int i = 0; i<n; i++) {cin>> name >> add >>num;mp[add][name]+=num;}for(it = mp.begin(); it!=mp.end(); it++) {cout<<(*it).first<<endl;for(itt = (*it).second.begin(); itt !=(*it).second.end(); itt++) {cout<<" |----"<<(*itt).first<<"("<<(*itt).second<<")"<<endl;}}t==0? 1==1: printf("\n");}return 0 ; }總結:
? ?就是不知道怎么map定義排序順序。
?
總結
以上是生活随笔為你收集整理的【HDU - 1263】 水果(STL)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rftray.exe - rftray是
- 下一篇: 【qduoj】奇数阶幻方 (构造)