Codeforces Round 937 (Div. 4)(A~E)

news2024/11/26 18:47:26

A. Stair, Peak, or Neither?

根据题意来就可以了

#include <bits/stdc++.h>
using namespace std;

void solve(){
    int a,b,c;
    cin>>a>>b>>c;
    
    if(a<b and b<c){
        cout<<"STAIR"<<endl;
    }else if(a<b and b>c){
        cout<<"PEAK"<<endl;
    }else cout<<"NONE"<<endl;
}

int main(){
    ios::sync_with_stdio(false),cin.tie(nullptr);
    
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    
    return 0;
}

B. Upscaling

根据题目那个图片交替输出

一开始是##,然后是..,两行两行出,所以第一行输出了之后,复制再输出一次就可以了。

#include <bits/stdc++.h>
using namespace std;

void solve(){
    int n;
    cin>>n;
    
    string s="";
    
    for(int j=1;j<=n;++j){//第j列
        for(int i=1;i<=n;++i){//第i行
            if((i+j)%2==0){//#
                cout<<"##";
                s+="##";
            }else{//.
                cout<<"..";
                s+="..";
            }
        }
        
        cout<<endl;
        cout<<s<<endl;
        s="";
    }
}

int main(){
    ios::sync_with_stdio(false),cin.tie(nullptr);
    
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    
    return 0;
}

C. Clock Conversion

24小时制变成12小时制,题目样例给了12:00是PM,所以<12的时候是AM,其他时候是PM,下午的时候减12就可以了。

#include <bits/stdc++.h>
using namespace std;

void solve(){
    string s;
    cin>>s;
    
    string s1=s.substr(0,2),s2=s.substr(3,2);
    
    int a1=(s1[0]-'0')*10+(s1[1]-'0');
    int a2=(s2[0]-'0')*10+(s2[1]-'0');
    
    if(a1<12){
        if(a1==0){
            cout<<12<<":"<<s2<<" AM"<<endl;
        }else{
         if(a1<10)cout<<0;
        cout<<a1<<":"<<s2<<" AM"<<endl;           
        }

    }else{
        a1-=12;
        if(a1==0)a1=12;
        if(a1<10)cout<<0;
        cout<<a1<<":"<<s2<<" PM"<<endl;
    }
}

int main(){
    ios::sync_with_stdio(false),cin.tie(nullptr);
    
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    
    return 0;
}

D. Product of Binary Decimals

定义 x 为长的和二进制一样的 十进制数,如:100,101,110(看起来是二进制,但是是十进制)。

数 n 是否形如 x,

如果不形如 x 是否能通过 x 累乘,x1*x2*x3...=n(x可以相同)

那么先判断是否形如 x,不是则因数分解(先把所有在范围内的x用dfs跑出来)。

#include <bits/stdc++.h>
using namespace std;

set<int>s;

void dfs(int now){
    if(now>1e5)return;
    
    s.insert(now);
    
    dfs(now*10);
    dfs(now*10+1);
}

void solve(){
    int n;
    cin>>n;
    
    int tmp=n;
    while(tmp){
        int b=tmp%10;
        tmp/=10;
        
        if(b>=2){//other check
            for(auto num:s){
                while(n%num==0){
                    n/=num;
                }
            }
            if(n==1){
                cout<<"YES"<<endl;
                return;
            }else{
                cout<<"NO"<<endl;
                return;
            }
        }
    }
    cout<<"YES"<<endl;
    //already be a binary dicimal notation
}

int main(){
    ios::sync_with_stdio(false),cin.tie(nullptr);
    
    dfs(1);
     
    s.erase(1);
    
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    
    return 0;
}

E. Nearly Shortest Repeating Substring

字符串S,是否能由字符串C反复出现k(k任意取)次得到(可以有一个不同)。重复出来的字符串长度必须和字符串一样

那显然要枚举字符串S已经有的子串,因为最后长度要一样,所以直接枚举长度为字符串S长度的因子,复杂度趋近n*sqrt(n)

// LUOGU_RID: 155415923
#include <bits/stdc++.h>
using namespace std;

void solve(){
    int n;
    string s;
    cin>>n>>s;
    
    for(int i=1;i<=n;++i){//c的长度
        if(n%i==0){//刚好
            
            map<string,int>f;
            
            for(int j=0;j<n;j+=i){
                string tmp=s.substr(j,i);
                f[tmp]++;
            }
            
            if(f.size()==1){
                cout<<i<<endl;
                return;
            }else if(f.size()==2){//少的那个改到多的那个去
                
                string str[2];
                int cnt=0,minn=INT_MAX;
                for(auto [stri,cnti]:f){
                    str[cnt++]=stri;
                    minn=min(minn,cnti);
                }
                
                int dif=0;
                for(int j=0;j<str[0].length();++j){
                    if(str[0][j]!=str[1][j]){
                        dif++;
                    }
                }
                
                if(minn*dif<=1){
                    cout<<i<<endl;
                    return;
                }
            }
        }
    }
}

int main(){
    ios::sync_with_stdio(false),cin.tie(nullptr);
    
    int t;
    cin>>t;
    while(t--){
        solve();
    }
    
    return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1587607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Docker部署SpringBoot+Vue前后端分离项目

文章目录 1. 安装Docker1. 1 卸载旧版Docker1.2 配置yum仓库1.3 安装Docker1.4 添加自启动配置1.5 配置阿里云镜像加速1.6 测试 2. 安装Nginx2.1 拉取镜像2.2 安装Nginx2.3 测试 3. 安装MySQL3.1 拉取镜像3.2 安装MySQL3.3 连接MySQL 4. 部署SpringBoot项目4.1 Maven打包4.2 编…

算法——栈

. - 力扣&#xff08;LeetCode&#xff09; 给你一个以字符串表示的非负整数 num 和一个整数 k &#xff0c;移除这个数中的 k 位数字&#xff0c;使得剩下的数字最小。请你以字符串形式返回这个最小的数字。 class Solution { public:string removeKdigits(string num, int k…

LeetCode-热题100:64. 最小路径和

题目描述 给定一个包含非负整数的 m x n 网格 grid &#xff0c;请找出一条从左上角到右下角的路径&#xff0c;使得路径上的数字总和为最小。 **说明&#xff1a;**每次只能向下或者向右移动一步。 示例 1&#xff1a; 输入&#xff1a; grid [[1,3,1],[1,5,1],[4,2,1]]…

二叉树:小红的完全二叉树构造

题目描述 小红想构造一个总共 n 个节点完全二叉树&#xff0c;该二叉树满足以下两个性质&#xff1a; 1. 所有节点的权值值为 1 ~ n 的一个排列。 2. 除了根节点以外&#xff0c;每个节点的权值和它父亲的权值的乘积为偶数。 请你帮小红构造出这个二叉树&#xff0c;并按层序遍…

Handler——小白能懂的原理,老鸟需要的面经

1.机制学习 1.1Handler定义 发送并处理 与线程的消息队列关联的Message和Runnable 1.2基本用法 1、Message.obtain() 从消息池取得Message 2、Handler().sendMessage(msg) 发送消息 3、Handler().post 将Runnable包装成Message发送 以下提供一个结构代码 import android.os.H…

嵌入式linux系统链接腾讯云的方法

各位开发者大家好,今天主要给大家分享一个,如何使用linux系统链接腾讯云的方法,因为微信小程序越来越普遍,链接腾讯云也是日常必须掌握的一个技能。 第一:【实验目的】 1、linux 系统连接腾讯云的方法 第二:【实验原理】 涉及到原理图添加原理图 2、linux开发板 …

AI 助力问题驱动式学习

文章概括&#xff1a; AI 已经带来学习方式的改变&#xff0c;降低了我们学习知识的难度&#xff0c;加快了我们解决问题的速度。 本文介绍如何通过 AI 工具&#xff0c;通过直接对大模型、对 Agent、对文档、对知识库提问的方式&#xff0c;快速学习知识快速解决问题等。 本…

Vue3学习03 pinia

Vue3学习 pinia pinia一个简单效果搭建 pinia 环境存储读取数据示例 修改数据 (三种方式)storeToRefsgetters$subscribestore组合式写法 pinia 在vue2中使用vuex&#xff0c;在vue3中使用pinia。 集中式状态管理&#xff0c;&#xff08;状态数据&#xff09;。多个组件共享数…

vue简单使用二(循环)

目录 属性绑定 if判断&#xff1a; for循环&#xff1a; 属性绑定 代码的形式来说明 三元表达式的写法&#xff1a; if判断&#xff1a; for循环&#xff1a; 完整代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"…

基于web的个人网站的设计与实现(内附设计LW + PPT+ 源码下载)

基于web的个人网站的设计与实现&#xff08;内附设计LW PPT 源码下载&#xff09; 摘 要 随着社会及个人社交应用平台的飞速发展&#xff0c;人们的沟通成本逐渐降低&#xff0c;互联网信息的普及也进一步提升了人们对于信息的需求度&#xff0c;通过建立个人网站的方式来…

【Linux】权限相关命令(九)

文章目录 ls命令&#xff08;常用&#xff09;su命令sudo命令chmod命令chown命令chgrp命令 当谈到Linux系统中的权限时&#xff0c;通常指的是文件和目录的权限。这些权限决定了谁可以对文件或目录进行何种类型的操作。在Linux中&#xff0c;权限通常被分为三个主要方面&#x…

Lesson2: 算法的时间复杂度和空间复杂度

【本节目标】 1. 算法效率 2. 时间复杂度 3. 空间复杂度 4. 常见时间复杂度以及复杂度 oj 练习 1.算法效率 1.1 如何衡量一个算法的好坏 如何衡量一个算法的好坏呢&#xff1f;比如对于以下斐波那契数列&#xff1a; long long Fib(int N) {if(N < 3)return 1;retu…

神经网络模型底层原理与实现8-BERT

首先介绍什么是自监督学习&#xff1a; 普通的有监督学习是每个x对应有个y&#xff0c;x训练得到y&#xff0c;将y与y作比较&#xff0c;而自监督是没有对应y&#xff0c;直接把一部分样本x作为训练目标x&#xff0c;训练得x后和x对比 bert中如何创造x&#xff1a;以文字处理为…

深度学习学习日记4.8(下午)

1.softmax 函数的得出的结果是样本被预测到每个类别的概率&#xff0c;所有类别的概率相加总和等于1。使用 softmax 进行数据归一化&#xff0c;将数字转换成概率。 2.熵&#xff0c;不确定性&#xff0c;越低越好 3.KL 散度交叉熵-信息熵 预测越准&#xff0c;交叉熵越小&am…

QT 信号与槽的简单使用

文章目录 1.通过Singloat and Slots Editor 添加信号与槽2. 通过拖动动态添加3.通过转到槽方式添加&#xff08;自动关联&#xff09;4. 自定义信号与槽&#xff08;connect)4.1 connect方式4.2 自定义信号 1.通过Singloat and Slots Editor 添加信号与槽 点添加&#xff0c;然…

pandas(day10)

一. 各各品类产品交易指数对比 获取文件名 files glob.glob("./*.xlsx")# 读取数据&#xff0c;并改列名&#xff0c;增加一列 品牌 dfs [] for f in files:t f[2:4]df pd.read_excel(f)df["品牌"] tif t "拜耳":df.rename(columns{"…

.NET MVC API Swagger 自动生成API文档入坑

开发环境 Win10 VS2022 .NET8.0 1.从NuGet添加Swagger 在解决方案资源管理器中右键单击项目>管理 NuGet 包 将包源设置为“nuget.org” 确保启用“包括预发行”选项 在搜索框中输入“Swashbuckle.AspNetCore” 从“浏览”选项卡中选择最新的“Swashbuckle.AspNetCore”包&a…

C++ | Leetcode C++题解之第21题合并两个有序链表

题解&#xff1a; 题解&#xff1a; class Solution { public:ListNode* mergeTwoLists(ListNode* l1, ListNode* l2) {ListNode* preHead new ListNode(-1);ListNode* prev preHead;while (l1 ! nullptr && l2 ! nullptr) {if (l1->val < l2->val) {prev-…

OJ刷题日记:1、双指针(1)

目录 1、283.移动零 2、1089.复写零 3、202.快乐数 1、283.移动零 题目&#xff1a; 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 请注意 &#xff0c;必须在不复制数组的情况下原地对数组进行操作。 …

PC-3000 Portable III、PC-3000 Express、PC-3000 UDMA 有哪些区别?

天津鸿萌科贸发展有限公司从事数据安全业务20余年&#xff0c;在数据恢复、数据取证、数据备份等领域有丰富的案例经验、前沿专业技术及良好的行业口碑。同时&#xff0c;公司面向取证机构及数据恢复公司&#xff0c;提供数据恢复实验室建设方案&#xff0c;包含数据恢复硬件设…