80分,#1WA,求调!
查看原帖
80分,#1WA,求调!
1067416
wlx2012楼主2024/6/8 22:33

思路:

用二维向量存储,且先排序后存储

代码:

#include<bits/stdc++.h>
using namespace std;
vector< vector<int> > v;
int t,n,m;
struct act{
	int a1,a2;
};
bool cmp(act a,act b){
	if(a.a1!=b.a1){
		return a.a1<b.a1;
	}
	return a.a2<b.a2;
}
act a[100005];
int main(){
	scanf("%d",&t);
	for(int k = 1;k<=t;k++){
		scanf("%d %d",&n,&m); 
		v.clear();
		v.resize(n);
		for(int i = 1;i<=m;i++){
			scanf("%d %d",&a[i].a1,&a[i].a2);
		}
		sort(a+1,a+1+m,cmp);
		int last=0;
		for(int i = 1;i<=m;i++){
			v[a[i].a1-1].push_back(a[i].a2);
		}
		for(int i = 0;i<v.size();i++){
			for(int j = 0;j<v[i].size();j++){
				cout<<v[i][j]<<" ";
			}
			cout<<endl;
		}
	}
	
	return 0;
}
2024/6/8 22:33
加载中...