数字分组
时间限制:1秒 内存限制:128M
题目描述
小可手里有很多个数字,小可打算把他们分到若干组中去。小可给你了这些数字和属于第几组,请你帮小可分好类!
输入描述
第一行一个正整数n(1≤n≤105),代表有n个数字需要被分组。
接下来n行,每行两个数字x(1≤x≤109)和y(1≤y≤105),代表x是属于第y组的数字。
输出描述
对于每组数字,按照输入的顺序输出一行即可。如果这一组里没有数字,那么输出一个空行。假设输入过程中出现的组数最大为Y,那么输出Y行即可。
样例输入
10
9 2
5 2
1 3
7 5
6 5
44 5
12 5
3 5
8 2
1 3
样例输出
9 5 8
1 1
7 6 44 12 3
话不多说,上AC代码
#include<bits/stdc++.h>
using namespace std;
vector<int> v[100005];
int main(){
int maxx=0;
int n;
cin>>n;
for(int i=1; i<=n; i++){
int x,y;
cin>>x>>y;
maxx=max(maxx,y);
v[y].push_back(x);
}
for(int i=1; i<=maxx; i++){
int s=v[i].size();
for(int j=0; j<s; j++){
cout<<v[i][j]<<" ";
}
cout<<endl;
}
return 0;
}