看了别的博主的说了一下y总 , 觉得这样写法短而且容易懂
主要就是容器的使用
#include"bits/stdc++.h"
using namespace std;
map<vector<int>,int>mp;
vector<pair<int,vector<int>>>v;
int n,m;
int main()
{
scanf("%d%d",&n,&m);
while (n--)
{
vector<int>q;
for(int i=0;i<m;i++){
int x;cin>>x;
q.push_back(x);
}
mp[q]++;
}
for(auto &i:mp) v.push_back({-i.second,i.first}); // -i.second 这里主要是让排序大到小
sort(v.begin(),v.end());
cout << mp.size() << endl;
for(auto &i:v){
cout << -i.first ;
for(auto j:i.second){
cout << " " << j;
}
cout << endl;
}
return 0;
}