蓝桥杯打卡Day5


文章目录

  • 日志排序
  • 重复者

一、日志排序IO链接

 本题思路:本题就是根据就是排序的知识点,在sort内部可以使用仿函数来改变此时排序规则。

#include 

const int N=10010;
int n;
std::string logs[N];

int main()
{
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);std::cout.tie(nullptr);
    
    while(std::getline(std::cin,logs[n]))
        if(logs[n].size()) n++;
        else break;
    //内部排序
    sort(logs,logs+n,[&](std::string&a,std::string&b){
        std::stringstream sstreama(a),sstreamb(b);
        
        //将空格分开的字符串读入sa,sb中
        std::string sa[4],sb[4];
        for(int i=0;i<4;i++){
            sstreama>>sa[i];
            sstreamb>>sb[i];
        }
        
        //如果当前消耗时间相等,则需要判断当前开始时间
        if(sa[3]==sb[3]) return sa[1]+sa[2]

二、重复者IO链接

 本题思路:对于第q层来说我们需要递归找出第q-1层的图形然后将其存储下来然后和原来图形来更新第q层的图形。

#include 

int n;
std::vector p;

std::vector dfs(int k)
{
    if(k==1) return p;
    
    std::vector last=dfs(k-1);//找出上一版本的字符串
    int m=last.size();
    
    std::vector res(n*m,std::string(n*m,' '));//当前版本串
    
    for(int i=0;i>n,n){
        //清空当前的版本串
        p.clear();
        getchar();
        
        for(int i=0;i>q;
        auto res=dfs(q);
        for(auto& str:res)
            std::cout<

你可能感兴趣的:(蓝桥杯,蓝桥杯,职场和发展)