清点代码库

看了别的博主的说了一下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;
}

Guess you like

Origin blog.csdn.net/weixin_53013914/article/details/120790837