第十二届蓝桥杯省赛第二场C/C++大学B组编程题题目及解析

2023-11-06

 

目录

 试题F:特殊年份

试题G:小平方 

 试题H:完全平方数

 试题I:负载平衡

试题J:国际象棋 


 试题F:特殊年份

在这里插入图片描述

#include <iostream>

using namespace std;

const int N = 5;

int res;

int a[N];

int main()
{
    for(int i = 0; i < 5; i ++)
    {
        int x;
        cin >> x;
        for(int j = 0; j < 5; j ++)
        {
            a[j] = x % 10; //a 0,1,2,3 分表表示个十百千位
            x /= 10;
        }
        if(a[1] == a[3] && a[0] - a[2] == 1)
            res ++;
    }
    cout << res;
    return 0;
}

试题G:小平方 

在这里插入图片描述

枚举 

#include <iostream>

using namespace std;

const int N = 10010;

int res;

int main()
{
    int n;
    cin >> n;
    for(int i = 1; i < (int)n; i ++)
    {
        if((i * i) % n < (double)n / 2)
            res ++;
    }
    cout << res;
    return 0;
}

 试题H:完全平方数

在这里插入图片描述 

#include <iostream>

using namespace std;

typedef long long LL;

int main()
{
    LL n;
    LL res = 1;
    cin >> n;
    for(LL i = 2; i * i <= n; i ++)
    {
        LL s = 0;
        while(n % i == 0)
        {
            n /= i;
            s ++;
        }
        if(s % 2)  res *= i;
    }
    if(n > 1)   res *= n;
    cout << res;
    return 0;
}
    

 试题I:负载平衡

在这里插入图片描述

在这里插入图片描述 

 模拟 + 优先队列

#include <iostream>
#include <queue>
#define x first
#define y second
using namespace std;

typedef pair<int, int> PII;// <结束时间,任务算力>
const int N = 200010;

int n, m;
int s[N]; // 剩余算力
priority_queue<PII, vector<PII>, greater<PII>> q[N]; // <类型,存储方式,比较函数>,结构体小根堆比较结构体的第一个变量

int main()
{
    scanf("%d%d",&n, &m);
    for (int i = 1; i <= n; i ++) scanf("%d",&s[i]);
    while (m --)
    {
        int a, b, c, d;
        scanf("%d%d%d%d",&a,&b,&c,&d);
        while(q[b].size() && q[b].top().x <= a)
        {
            s[b] += q[b].top().y;
            q[b].pop();
        }
        if (s[b] < d) printf("-1\n");
        else
        {
            q[b].push({a + c, d});
            s[b] -= d;
            printf("%d\n",s[b]);
        }
    }
    return 0;
}

试题J:国际象棋 

在这里插入图片描述 

在这里插入图片描述 

状态压缩DP

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

using namespace std;

const int N = 110, M = 1 << 6, K = 21, MOD = 1e9 + 7;

int n, m, k;
int f[N][M][M][K];

int get_count(int x)
{
    int res = 0;
    while (x)
    {
        res ++ ;
        x -= x & -x;
    }
    return res;
}

int main()
{
    cin >> n >> m >> k;
    f[0][0][0][0] = 1;

    int cnt = 0;
    for (int i = 1; i <= m; i ++ )
        for (int a = 0; a < 1 << n; a ++ )
            for (int b = 0; b < 1 << n; b ++ )
            {
                if (a & (b << 2) || b & (a << 2)) continue;
                for (int c = 0; c < 1 << n; c ++ )
                {
                    if (c & (b << 2) || b & (c << 2)) continue;
                    if (c & (a << 1) || a & (c << 1)) continue;
                    int t = get_count(c);
                    for (int u = t; u <= k; u ++, cnt ++ )
                        f[i][b][c][u] = (f[i][b][c][u] + f[i - 1][a][b][u - t]) % MOD;
                }
            }

    int res = 0;
    for (int i = 0; i < 1 << n; i ++ )
        for (int j = 0; j < 1 << n; j ++ )
            res = (res + f[m][i][j][k]) % MOD;

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

 

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

第十二届蓝桥杯省赛第二场C/C++大学B组编程题题目及解析 的相关文章

  • element时间抽el-timeline触发点击事件的方法

    直接在element的时间轴组件el timeline item上挂在点击事件是不生效的 只有点击在连接线的位置才能触发 这是因为在点击过程中 可能点击到的是el timeline item的子元素 比如el timeline item t
  • Day 1 - 基本语法

    Day 1 1 基本语法 一 语句 1条有效程序 print 你好 print 世界 一行有多条语句 要用分号隔开 print 你好 print 世界 二 注释 注释是代码中不参与编译执行的说明性文字 不影响程序功能 单行注释 Ctrl p
  • Redis最佳实践:7个维度+43条使用规范,带你彻底玩转Redis

    微信搜索关注 水滴与银弹 公众号 第一时间获取优质技术干货 7年资深后端研发 给你呈现不一样的技术视角 大家好 我是 Kaito 这篇文章我想和你聊一聊 Redis 的最佳实践 你的项目或许已经使用 Redis 很长时间了 但在使用过程中

随机推荐

  • ‘redis‐server.exe‘ 不是内部或外部命令,也不是可运行的程序或批处理文件。

    1 管理员身份 2 cmd进入redis安装目录 3 执行命令 redis server exe redis windows conf 我缺少了第二步
  • 设计模式的口诀

    创建 结构 行为 1 抽工单建原 2 桥代理组装适配器的享元外观 3 访问者的策略备忘录 观察模板的迭代状态 命令中介者解释责任链
  • 最大子列和问题(四种方法 !!!终极版本)

    题目 给定K个整数组成的序列 N1 N 2 N K 连续子列 被定义为 Ni N i 1 Nj 其中 1 i j K 最大子列和 则被定义为所有连续子列元素的和中最大者 例如给定序列 2 11 4 13 5 2 其连续子列 11 4 13
  • Unity 优化1

    我认为unity的优化可以从三方面入手 分别是资源优化 性能优化和内存优化 由于每一方面的优化内容都比较多 我在这里主要分析一下性能优化 系统性能的好与差主要是通过系统的相应时间来衡量的 如果系统的响应时间超过500毫秒 用户就会感觉到明显
  • ASAP标注软件安装教程Ubuntu20.04

    以下转载自Github 需要针对ubuntu20 04 python3 8进行修改 DeepLearningCamelyon ASAP installation Ubuntu 16 04 at master 3dimaging DeepLe
  • 神武跑环遇到服务器维护,神武跑环不再痛苦:任务链重点难点详解攻略

    神武跑环不再痛苦 任务链重点难点详解攻略 大家快来看看吧 神武跑环不再痛苦 任务链重点难点详解攻略 相关新闻 任务链攻略 任务内容包括 找人 找到NPC对话即可 无时限 击败NPC 击败指定NPC即可 40分钟 难度较高 寻找物品交予NPC
  • kali功能介绍及安装(超详细)

    kali功能介绍及安装 超详细 一 kali简介 1 描述 Kali Linux是一个操作系统 2013 03 13诞生 基于Debian Linux的发行版 基于包含了约600个安全工具 省去了繁琐的安装 编译 配置 更新步骤 为所有工具
  • Python字符串中的特殊字符

    f 字符串 格式化字符串 在字符串前面加上 f 可以创建一个格式化字符串 在其中可以使用花括号 来插入变量或表达式的值 这种字符串会在运行时进行格式化处理 例如 name Alice age 25 print f My name is na
  • js实现图片懒加载原理

    有时候一个网页会包含很多的图片 例如淘宝京东这些购物网站 商品图片多只之又多 页面图片多 加载的图片就多 服务器压力就会很大 不仅影响渲染速度还会浪费带宽 比如一个1M大小的图片 并发情况下 达到1000并发 即同时有1000个人访问 就会
  • 学习记录Linux搭建nginx

    安装编译工具及库文件 yum y install make zlib zlib devel gcc c libtool openssl openssl devel 首先要安装 PCRE 下载 PCRE 安装包 下载地址 http downl
  • Pycharm常用快捷键大全

    版权声明 本文为博主原创文章 遵循 CC 4 0 BY SA 版权协议 转载请附上原文出处链接和本声明 本文链接 https blog csdn net momoda118 article details 120155611 工欲善其事必先
  • 如何将任意大小的图片填充成一个方形

    这种方式我认为是最适合的图片预处理方式 随意resize会改变图片的特征 而进行填充的方式除了会改变原来标签的坐标以外 可以完全保留图片上所有的物体最原始的特征 def pad to square img pad value c h w i
  • 用Gerrit commit时报错missing Change-Id in message footer

    本人在第一次使用Gerrit时提交代码一直报change Id找不到 在git log的时候显示如下 查询其他文档发现是commit msg文件不存在导致的 现给出解决方案 提示错误 错误信息如下 remote Resolving delt
  • ctfshow终极考核wp

    文章目录 web640 web641 web642 web643 web644 web645 web646 web647 web648 web649 web650 web651 web652 web653 web654 web640 打开页
  • 【华为OD机试】支持优先级的队列【2023 B卷

    华为OD机试 真题 点这里 华为OD机试 真题考点分类 点这里 题目描述 实现一个支持优先级的队列 高优先级先出队列 同优先级时先进先出 如果两个输入数据和优先级都相同 则后一个数据不入队列被丢弃 队列存储的数据内容是一个整数 输入描述 一
  • 修改 Linux VM 中单个用户最大进程数的限制

    在部署有并发任务执行的虚机上 会遇到 SSH 无法访问的问题 本文将帮助你找出其中一种比较特殊的原因 并提供解决方案 Note 以下案例分析基于 CentOS 7 对于其他版本的 Linux 操作系统 会略有不同 请注意 症状描述 虚机在正
  • BaoStock:一个免费、开源的python证券数据接口包

    如果需要获取历史行情数据 www baostock com是个很好的免费 开源的Python证券数据接口包 特点 使用方便 免费免费免费 返回的绝大部分的数据格式都是pandas DataFrame类型 入门代码如下 import baos
  • 分布式系统常用的模式

    分布式系统常用的模式 Ambassador 名称 大使 模式 介绍 作为应用程序和其他服务的 中间人 负责应用程序和其他服务之间的通信 包括日志 监控或重试处理等任务 举例 K8S使用Envoy作为一个 大使 来简化服务之间的通信 优点 降
  • MySQL多表查询

    目录 一 查询和新增结合 二 聚合查询 1 聚合函数 2 group by子句 三 联合查询 1 笛卡尔积 1 内连接 2 外连接 1 左外连接 2 右外连接 3 自连接 4 子查询 嵌套查询 5 合并查询 一 查询和新增结合 将表2中的数
  • 第十二届蓝桥杯省赛第二场C/C++大学B组编程题题目及解析

    目录 试题F 特殊年份 试题G 小平方 试题H 完全平方数 试题I 负载平衡 试题J 国际象棋 试题F 特殊年份 include