当前位置:   article > 正文

第十二届蓝桥杯省赛试题及其部分答案_ev3题库答案

ev3题库答案

这里给大家分享第十二届蓝桥杯B组的试题(c++,java,python基本完全一样)。

链接: https://pan.baidu.com/s/1pHQXtKblcuQjn0kZD9LLvg 提取码: vfbv

第一题:

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

答案:256 * 1024 * 1024 * 8 / 32 = 67108864
8位等于1字节

第二题:

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

答案: 3181

#include <bits/stdc++.h>
using namespace std;
int a[10];
int main()
{
    for(int i = 0;i<10;i++) a[i] = 2021;
    int k,n,ans = -1;
    for(int i = 1;i<= 100000;i++){
        k = i;
        while(k){
            int w = k%10;
            a[w]--;
            k/= 10;
            if(a[w] == -1){
              ans = i;
              break;
            }
        }
        if(ans != -1) break;
    }
    printf("%d",ans-1);
    return 0;
}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

第五题:

小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图中的最短路径。小蓝的图由 2021 个结点组成,依次编号 1 至 2021。对于两个不同的结点 a,b,如果 a 和b 的差的绝对值大于 21 ,则两个结点之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条长度为 a 和 b 的最小公倍数的无向边相连。例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无向边,长度为 24;结点 15 和结点 25 之间有一条无向边,长度为 75 。请计算,结点 1 和结点 2021 之间的最短路径长度是多少。

使用最短路算法 dijk或者优化了的floyd很快就出来了
答案:10266837

#include <bits/stdc++.h>
using namespace std;
const long long inf = 0x7fffffff;
long long mp[2031][2031];
int main()
{
    int i,j,k;
    for(i = 1;i<=2021;i++){
        for(j = i;j<=2021;j++){
          mp[i][j] = mp[j][i] = inf;
        }
    }

    for(i = 1;i<2022;i++){
        for(j = i;j<2022;j++){
            if((j-i) <= 21) mp[i][j] = mp[j][i] = (i*j)/__gcd(i,j);
        }
    }

    for(k = 1;k < 2022;k++)
    {
        for(i = 1;i < 2022;i++){
            for(j = i;j < 2022;j++){
               if(mp[i][k]+mp[k][j] < mp[i][j])
              mp[i][j] = mp[j][i] = mp[i][k]+mp[k][j];
            }
        }
    }

    printf("%lld",mp[2021][1]);
    return 0;
}




  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

G题:

动态规划:

传送门

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/1013427
推荐阅读
相关标签
  

闽ICP备14008679号