Particle

競技プログラミングについての雑記

AOJ 0105: Book Index

vector を使い、ソートします。

vector<pair<string,vector<int> > > data;
map<string,int> sf;

int main(){
	string s;
	int a,k = 0;
	while(cin>>s>>a){
		if(!sf.count(s)){
			sf[s] = k++;
			data.push_back(make_pair(s,vector<int> ()));
		}
		data[sf[s]].second.push_back(a);
	}
	
	sort(data.begin(),data.end());
	
	for(int i = 0; i < data.size(); i++){
		cout<<data[i].first<<endl;
		
		sort(data[i].second.begin(),data[i].second.end());
		
		for(int j = 0,l = data[i].second.size(); j < l; j++){
			cout<<data[i].second[j];
			if(j == l-1)cout<<endl;
			else cout<<' ';
		}
	}
	
	return 0;
}