#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
map<vector<int>,int> mp;
struct no
{
int c;
vector<int> az;
}a[10011];
bool cp(no a,no b)
{
if(a.c!=b.c)
{
return a.c>b.c;
}
else
{
for(int i=0;i<m;i++)
{
if(a.az[i]!=b.az[i])
{
return a.az<b.az;
}
}
}
}
signed main(){
cin>>n>>m;
for(int i=0;i<n;i++)
{
vector<int> aq;
for(int j=0;j<m;j++)
{
int x;
cin>>x;
aq.push_back(x);
}
mp[aq]++;
aq.clear();
}
int i=0;
for(auto p:mp)
{
a[i].az=p.first;
a[i].c=p.second;
i++;
}
sort(a,a+i,cp);
cout<<i<<endl;
for(int j=0;j<i;j++)
{
cout<<a[j].c;
for(int w=0;w<m;w++)
{
cout<<" "<<a[j].az[w];
}
cout<<endl;
}
}
/*泛舟沧海,立马昆仑*/
/*若你为了错过太阳而哭泣,那么你也将错过群星了*/
/*红了樱桃,绿了芭蕉*/
/*泛舟沧海,立马昆仑*/
/*若你为了错过太阳而哭泣,那么你也将错过群星了*/
/*红了樱桃,绿了芭蕉*/
/*
3 3
0 3
1 2
0 2
*/
清点代码库--map+结构体
最新推荐文章于 2024-07-12 18:56:03 发布