首页 > 其他分享 >8.17

8.17

时间:2023-08-17 20:12:38浏览次数:31  
标签:node map cnt int ++ num 8.17

#include<bits/stdc++.h>
using namespace std;
const int N = 1e5+10;
map <vector <int>, int> st, cnt;//使用map实现对vector的映射(pair不可以,不能产生索引)
vector <int> v[N];
 
//结构体中重名无所谓,会产生屏蔽
struct Node {
    int cnt;
    vector <int> v;
} node[N];
 
//依据“输出首先按模块个数非递增顺序,如果有并列,则按输出序列的递增序给出”改写sort
bool cmp (Node a, Node b) {
    if (a.cnt != b.cnt) return a.cnt > b.cnt;
    return a.v < b.v;
}
 
int main(){
    
    int n, m;
    cin >> n >> m;
    
    for (int i = 0;i < n;i ++) {
        for (int j = 0;j < m;j ++) {
            int x;
            cin >> x;
            v[i].push_back (x);
        }
        cnt[v[i]] ++;
    }
    
    int num = 0;
    for (int i = 0;i < n;i ++) {
        if (st[v[i]]) continue;//重新遍历输入的每一行,如果遍历过了这个vector,那么就continue
        st[v[i]] = 1;//遍历了标记为1
        node[num].cnt = cnt[v[i]];//将map中的cnt赋值到node中
        node[num].v = v[i];//将map中的v赋值到node中
        num ++;//种类数加1
    }
    
    //遍历统计完就按照题目要求进行sort排序,以便输出最终结果
    sort (node, node+num, cmp);
    
    cout << num << endl;
    
    for (int i = 0;i < num;i ++) {
        cout << node[i].cnt;
        for (int j = 0;j < node[i].v.size();j ++)
            cout << ' ' << node[i].v[j];
        cout << endl;
    }
    
    return 0;
}

 

标签:node,map,cnt,int,++,num,8.17
From: https://www.cnblogs.com/xuxingkai/p/17638733.html

相关文章

  • 「Log」2023.8.17 小记
    序幕早上到校先摆,然后开调代码。大分块对拍调调调。学长开始讲平衡树。平衡树平衡树平衡树!学完了,点午饭吃午饭。学主席树。主席树主席树主席树!学完了点晚饭吃完饭。用chatGPT写了点文章,乐坏了。继续卡常。\(\color{black}{P4119\[Ynoi2018]\未来日记}\)详见「「No......
  • 8.17 Day1
    战绩:80+50+70+70=270挂麻了T1蒙德枚举中心点,组合挑出\(j\)条出边,形成一个大小为\(j\)的星星出题人题出错了,本来应该100的。据说是没有验题人。。。T2璃月一开始想的莫队\(O(n^2)\rightarrow50pts\),又想了想20pts顺着的部分分,发现应该就是个二维数点,就先70pts去写别......
  • 2023.8.17 - env运行时变量在node中运行问题
    在Vue.js中,你不能直接在模板文件中访问.env文件中定义的环境变量。.env文件中的变量是在构建过程中被注入到应用程序中的,而不是在运行时可访问的。然而,你可以使用Vue提供的process.env来访问在构建过程中注入的环境变量。在Vue组件的JavaScript代码中,你可以通过process.env.VARIA......
  • 8.17模拟赛小结
    前言最卡常的一集T1激光通讯原题题意:给你一个大小不超过\(100\times100\)的矩阵其中有一个起点,终点和一些障碍物求从起点到终点不碰到障碍物的最小转弯次数思考一开始肯定是想记忆化dfs但是那样写了下发现麻烦于是改成了bfs容易发现转弯次数能小就小所以将普通......
  • 2023.8.17
    //1.约束//2.用inteface定义,不可实例化,没有构造方法//3.用implements可实现多个接口//接口publicinterfaceService{//用interface定义接口//在接口中定义的属性,都是常量publicstaticfinalintAGE=99;publicstaticfinalintheight=180;......
  • 8.17集训笔记
    上午二维数组/函数B2101计算矩阵边缘元素之和点击查看代码#include<bits/stdc++.h>usingnamespacestd;constintN=110;intn,m,a[N][N];intmain(){cin>>n>>m;for(inti=1;i<=n;i++)for(intj=1;j<=m;j++)cin>>a[i][j];int......
  • Windows server 2022 Datacenter 21h2 20230517 20348.1787
    Windowsserver2022Datacenter21h22023051720348.1787slmgr.vbs-dlv......
  • 8.17 Object类简介
    classPerson{}和classPersonextendsObject是一样的。前面extendsObject被省略了如果一个程序的方法要求可以接收所有类对象的时候,就可以利用Object类实现。demo1classPerson{}publicclassHelloWorld{publicstaticvoidmain(Stringargs[]){......
  • DP8.17安装报错
         =======02/13/2320:48:00MSTBEGINinstallAGENTSESSION(pid=6119)(jobid=rx6600-0037)*Agentsessionstartedforuser"root@......
  • 【2022.8.17】MySQL数据库(4)
    学习内容概要操作表的SQL语句补充表查询关键字selectfromwheregroupbyhavingdistinctorderbylimitregexpSQL语句中也支持写类似......