第十二届蓝桥杯 2021年省赛真题 (C/C++ 大学C组) 第一场

本文汇总了多道编程竞赛题目,包括计算ASCII码、确定数组存储容量、解决卡片组合问题、寻找特定乘积的余数、找出图中节点间的最短路径、时间转换、设计最少砝码系统、杨辉三角的位置以及多叉树转二叉树的高度和括号序列合法化。涉及算法包括基本算术运算、数论、图论、动态规划等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


解析移步对应 Java组 的题解


#A ASC

本题总分: 5 5 5


问题描述

  已知大写字母 A A A A S C I I \mathrm{ASCII} ASCII 码为 65 65 65,请问大写字母 L L L A S C I I \mathrm{ASCII} ASCII 码是多少?


答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


76


calcCode:

#include <stdio.h>

int main() {
   
    // printf("%d", 65 + 'L' - 'A');
    printf("%d", 'L');
}

#B 空间

本题总分: 5 5 5


问题描述

  小蓝准备用 256 M B 256\mathrm{MB} 256MB 的内存空间开一个数组,数组的每个元素都是 32 32 32 位二进制整数,如果不考虑程序占用的空间和维护内存需要的辅助空间,请问 256 M B 256\mathrm{MB} 256MB 的空间可以存储多少个 32 32 32 位二进制整数?


答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


67108864


calcCode:

#include <stdio.h>

int main() {
   
    printf("%d", 256 >> 2 << 20);
}

checkCode:

#include <stdio.h>
#include <math.h>

int A[67108864];

int main() {
   
    printf("%f", sizeof A / pow(2, 20));
}

  虽然 sizeof 是在编译阶段进行的,

  从这个意义上看并不是什么非要支持不可的函数。

  但 C \mathrm{C} C,行!


#C 卡片

本题总分: 10 10 10


问题描述

  小蓝有很多数字卡片,每张卡片上都是数字 0 0 0 9 9 9
  小蓝准备用这些卡片来拼一些数,他想从 1 1 1 开始拼出正整数,每拼一个,就保存起来,卡片就不能用来拼其它数了。
  小蓝想知道自己能从 1 1 1 拼到多少。
  例如,当小蓝有 30 30 30 张卡片,其中 0 0 0 9 9 9 3 3 3 张,则小蓝可以拼出 1 1 1 10 10 10,但是拼 11 11 11 时卡片 1 1 1 已经只有一张了,不够拼出 11 11 11
  现在小蓝手里有 0 0 0 9 9 9 的卡片各 2021 2021 2021 张,共 20210 20210 20210 张,请问小蓝可以从 1 1 1 拼到多少?
  提示:建议使用计算机编程解决问题。


答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。


3181


calcCode:

#include <stdio.h>

int n, ans, cnt;

int main() {
   
    while (1) {
   
       n = ans;
       while (n) {
   
           if (n % 10 == 1) cnt++;
           n /= 10;
       }
       if (cnt < 2021) ans++;
       else break;
    }
    printf("%d", ans);
}

#D 相乘

本题总分: 10 10 10


问题描述

  小蓝发现,他将 1 1 1 1000000007 1000000007 1000000007 之间的不同的数与 2021 2021 2021 相乘后再求除以 1000000007 1000000007 1000000007 的余数,会得到不同的数。
  小蓝想知道,能不能在 1 1 1 1000000007 1000000007 1000000<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值