更不正经题解|星球编号
2024-04-08 17:04:33
发布于:广东
7阅读
0回复
0点赞
因为用时比AC君长,所以更不正经
AC代码:
#include <iostream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
/*
100000 3
100000 5
100000 1
100000 3
*/
struct node{
int x,y;
}b[100005];
map<int,bool> c;
map<int,int> ans[100005];
vector<int> a[100005];
int main() {
int n,m;
scanf("%d %d",&n,&m);
for (int i=1;i<=m;i++) {
scanf("%d %d",&b[i].x,&b[i].y);
a[b[i].x].push_back(b[i].y);
c[b[i].x]=1;
}
for (auto i:c) {
int num=i.first;
sort(a[num].begin(),a[num].end());
int len=a[num].size();
for (int j=0;j<len;j++) {
ans[num][a[num][j]]=j+1;
}
}
/*for (int i=1;i<=m;i++) {
sort(a[b[i].x].begin(),a[b[i].x].end());
int len=a[b[i].x].size();
for (int j=0;j<len;j++) {
ans[b[i].x][a[b[i].x][j]]=j+1;
}
}*/
for (int i=1;i<=m;i++) {
printf("%06d",b[i].x);
printf("%06d",ans[b[i].x][b[i].y]);
printf("\n");
}
return 0;
}
这里空空如也
有帮助,赞一个