第十一届蓝桥杯省赛第一场C++A/B组真题

2023-11-16

目录

整数序列

解码

走方格

整数拼接

网络分析


整数序列

 代码:

#include<iostream>
#include<vector>
using namespace std;
int main(){
	long long n; 
	cin>>n;
	vector<int> C;
	while(n>0){
		cout<<n<<' ';
		n/=2;
	}
	return 0;
}

解码

代码:

#include <iostream>
#include <cstring>

using namespace std;

int main()
{
    string s, res;
    cin >> s;

    for (int i = 0; i < s.size(); i ++ )
    {
        if (i + 1 < s.size() && s[i + 1] <= '9')   //下一个字母在范围内并且下一个字母是数字,ASCLL<=9一定是数字
        {
            int k = s[i + 1] - '0';  //求一下数字
            while (k -- ) res += s[i];  //字母重复k次
            i ++ ; //i++是把数字跳过
        }
        else
        {
            res += s[i];  //后面没有字母表示这个字母只出现一次
        }
    }

    cout << res << endl;
    return 0;
}

走方格

代码:dp

#include <iostream>
#include <cstring>
using namespace std;

const int N = 40;

int n, m;
int f[N][N];

int main()
{
    cin >> n >> m;
    f[1][1] = 1;
    for (int i = 1; i <= n; i ++ )
        for (int j = 1; j <= m; j ++ )
        {
            if (i == 1 && j == 1) continue;  //起点
            if (i % 2 || j % 2)
                f[i][j] = f[i - 1][j] + f[i][j - 1];  //向下走和向右走
        }

    cout << f[n][m] << endl;

    return 0;
}

整数拼接

 代码:

固定A[i],计算有多少个A[j],使得A[j]*(10^m)+A[i]是k的倍数

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

typedef long long LL;
const int N = 100010;

int n, m;
int a[N], s[11][N];  //s[][]ha'xi'biao

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 0; i < n; i ++ ) scanf("%d", &a[i]);
    for (int i = 0; i < n; i ++ )
    {
        LL t = a[i] % m;
        for (int j = 0; j < 11; j ++ )
        {
            s[j][t] ++ ;
            t = t * 10 % m;
        }
    }

    LL res = 0;
    for (int i = 0; i < n; i ++ )
    {
        LL t = a[i] % m;
        int len = to_string(a[i]).size();  //看一下数组的大小,把数组变成字符串
        res += s[len][(m - t) % m];

        LL r = t;
        while (len -- ) r = r * 10 % m;
        if (r == (m - t) % m) res -- ;
    }

    printf("%lld\n", res);

    return 0;
}

网络分析

 代码: 

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

const int N = 10010;

int n, m;
int p[N], d[N];

int find(int x)
{
    if (p[x] == x || p[p[x]] == p[x]) return p[x];
    int r = find(p[x]);
    d[x] += d[p[x]];
    p[x] = r;
    return r;
}

int main()
{
    scanf("%d%d", &n, &m);
    for (int i = 1; i <= n; i ++ ) p[i] = i;
    while (m -- )
    {
        int t, a, b;
        scanf("%d%d%d", &t, &a, &b);
        if (t == 1)  //合并两个点
        {
            a = find(a), b = find(b);  //a,b变成父节点
            if (a != b)
            {
                d[a] -= d[b];  //a指向b
                p[a] = b;
            }
        }
        else
        {
            a = find(a);
            d[a] += b;
        }
    }

    for (int i = 1; i <= n; i ++ )
        if (i == find(i)) printf("%d ", d[i]);
        else printf("%d ", d[i] + d[find(i)]);
    puts("");

    return 0;
}

来源 acwing

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第十一届蓝桥杯省赛第一场C++A/B组真题 的相关文章

随机推荐

  • 最新在线IDE流行度最新排名(每月更新)

    2023年09月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多 人们就会认为它越受欢迎 原始数据来自谷歌Trends 如果您相信集体智慧 那么TOP ODE索
  • Go语言的运行机制&程序是怎么跑起来的

    学习Golang有一段时间了 自己看着各种教程也码了些demo 其实接触了这么多语言 当因为工作 项目 兴趣所驱在短时间切换一门编程语言时 并不会太难上手 甚至会对了解一些很雷同的基础语法感到枯燥 但这是必经之路 对于一个技术爱好者而言 技
  • 内网隧道代理技术(二十一)之 CS工具自带中转技术上线不出网机器

    CS工具自带上线不出网机器 如图A区域存在一台中转机器 这台机器可以出网 这种是最常见的情况 我们在渗透测试的过程中经常是拿下一台边缘机器 其有多块网卡 边缘机器可以访问内网机器 内网机器都不出网 这种情况下拿这个边缘机器做中转 就可以使用
  • 模拟退火算法补充

    原博客 模拟退火算法详解 误区及matlab实现 是好人的墨叔的博客 CSDN博客 模拟退火算法不收敛 补充初始温度和终止温度的选择 选择不当会导致优化效果不佳 1 初始温度的选择 最小优化的话 根据exp f T 和运行10次左右的 f选
  • vue3 触底加载数据(滚动加载分页数据)

    html div class integral record cont div class integral record item div class traditional integral panel div class tradit
  • JDBC连接postgresql

    1 在pom xml中导入包
  • 【React】 12课 react的生命周期函数执行顺序详解

    1 Mounting 初始化阶段 挂载阶段 执行的函数 构造函数 里面存放this state组件数据 constructor props props是父组件传过来的参数 super props this state 组件即将被挂载 UNS
  • 小米笔记本开机提示:no bootable device -- insert boot disk and press any key

    环境说明 小米笔记本重新安装系统 我使用调整了BIOS中安全引导功能 修改为了Disabled 禁用 系统安装没有修改回来 开机导致如下截图提示信息 报错信息 no bootable device insert boot disk and
  • 什么是ERP、APS和MES

    01 先来说说ERP与MES的区别 ERP 企业资源计划 一天中午 丈夫在外给家里打电话 亲爱的老婆 晚上想带几个同事回家吃饭可以吗 订货意向 丈夫 6个人 我们7点左右回来 准备些酒 烤鸭番茄炒蛋 凉菜 蛋花汤 你看可以吗 商务沟通 妻子
  • unity的垂直同步VSync

    本文转载自http blog csdn net plaxbsga article details 50298765 提示 如何打开或关闭垂直同步 进入游戏后在游戏的画面设置里边一般都会有垂直同步的开关选项的 如图 垂直同步是什么意思 垂直同
  • Linux常用

    请求 curl X GET http 127 0 0 1 8080 application properties wget 127 0 0 1 8080 application properties k8s篇 kubectl get po
  • 正则匹配常用表达式记录

    用于表单只允许输入数字或小数 str replace d lt d g 正整数 1 9 d test str 邮箱 A Za z0 9 u4e00 u9fa5 a zA Z0 9 a zA Z0 9 test str 手机号码 1 3457
  • JavaWeb的项目设计思路

    JavaWeb在做项目的时候 最重要的是应用了分层操作的思想 JavaBean JSP Servlet 就是Model View Controller 即MVC的设计模式 entity 实体类 和数据库中一一对应 表名 类名 字段 属性 D
  • MATLAB函数图形绘制

    MATlAB命令 功能 fplot fun lims 绘制符号函数fun在区间lims xmin xmax 间的图像 plot x y s 绘制由向量x和向量y给定的离散数据连接起来的图像 s用来定义函数曲线的颜色和线型 ezplot fu
  • C++标准库笔记-多线程-shared_future-future的补充扩展

    std shared future 在之前笔记C 11笔记 多线程 细说Future中 std future提供了 处理并发运算之未来结果 的能力 但是只能处理一次结果 第二次调用get 会导致不可以预期的行为 因为调用get 后会将fut
  • 萤石云第三方接口_流媒体服务器、海康威视 大华摄像头实现视频监控、直播解决方案(转)...

    1 usingNewtonsoft Json 2 usingSystem 3 usingSystem Collections Generic 4 usingSystem Linq 5 usingSystem Net Http 6 using
  • E9启动后无法打印日志

    配置Resin 将Resin xml 中注释一下
  • JavaScript中的base64加密解密

    js原生支持base64加密 window btoa 加密 window atob 解密 但只支持英文加密 中文我们可以先转义再加密 encodeURI 函数可把字符串作为 URI 进行编码 decodeURI 函数可对 encodeURI
  • Navicat连接不上本地MySQL数据库

    今天发现Navicat连接不上本地MySQL数据库 报错如下 解决方法 1 打开计算机管理 如下 2 找到MYSQL57 右键 启动 问题解决
  • 第十一届蓝桥杯省赛第一场C++A/B组真题

    目录 整数序列 解码 走方格 整数拼接 网络分析 整数序列 代码 include