• 清点代码库


    这里我们把问题简化一下:首先假设两个功能模块如果接受同样的输入,总是给出同样的输出,则它们就是功能重复的;其次我们把每个模块的输出都简化为一个整数(在 int 范围内)。于是我们可以设计一系列输入,检查所有功能模块的对应输出,从而查出功能重复的代码。你的任务就是设计并实现这个简化问题的解决方案。
    
    输入格式:
    输入在第一行中给出 2 个正整数,依次为 N ( ≤ 1 0 4 ) 和 M ( ≤ 1 0 2 ) N(≤10^ 4 )和 M(≤10^ 2 )N(≤10 
    4
     )和M(≤10 
    2
     ),对应功能模块的个数和系列测试输入的个数。
    
    随后 N 行,每行给出一个功能模块的 M 个对应输出,数字间以空格分隔。
    
    输出格式:
    首先在第一行输出不同功能的个数 K。随后 K 行,每行给出具有这个功能的模块的个数,以及这个功能的对应输出。数字间以 1 个空格分隔,行首尾不得有多余空格。输出首先按模块个数非递增顺序,如果有并列,则按输出序列的递增序给出。
    
    注:所谓数列 { A 1 , . . . , A M A_1 , ..., A_MA 
    1
    ​
     ,...,A 
    M
    ​
      } 比 { B 1 , . . . , B M B_1 , ..., B_MB 
    1
    ​
     ,...,B 
    M
    ​
      } 大,是指存在 1 ≤ i < M 1≤i<M1≤i<M,使得 A 1 = B 1 , . . . , A i = B i A_1 =B_1 ,...,A _i =B_iA 
    1=B 
    1
    ​
     ,...,A 
    i
    ​
     =B 
    i
    ​
      成立,且 A i + 1 > B i + 1 A_i+1 >B_i+1A 
    i
    ​
     +1>B 
    i
    ​
     +1 。
    
    输入样例:
    7 3
    35 28 74
    -1 -1 22
    28 74 35
    -1 -1 22
    11 66 0
    35 28 74
    35 28 74
    输出样例:
    4
    3 35 28 74
    2 -1 -1 22
    1 11 66 0
    1 28 74 35
    ————————————————
    版权声明:本文为CSDN博主「Eternity_GQM」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/eternity_memory/article/details/123548686
    View Problem
    map<vector<int>,int> mp;
    struct dian{
        int val;
        vector<int>p;
        bool operator <(const dian &t)const
        {
            if(val==t.val) return p<t.p;
            return val>t.val;
        }
    }node[M];
    View Code

    map,结构体的强大应用。 map里面存 vector, sort里面直接排序vector。

  • 相关阅读:
    导出redis中某个大key中的值并与数据库中作对比
    添加印记脚本
    校园信息流读请求脚本
    每天一个linux命令(1):which命令(转)
    (转)Jmeter内存溢出处理方式记录
    提升效率(时间准确性),减少时间和资源的消耗——由89C52/89C51的定时器中断引出的一些问题
    STM32重映射(PinRemap)的使用,注意!
    Terminal中输入命令直接打开QtCreator,以及创建其桌面快捷方式
    MarkDown插入图片
    初试MarkDown
  • 原文地址:https://www.cnblogs.com/Lamboofhome/p/16153371.html
Copyright © 2020-2023  润新知