美文网首页
2019蓝桥杯校选赛题目及答案

2019蓝桥杯校选赛题目及答案

作者: 简言之_ | 来源:发表于2019-12-11 20:54 被阅读0次

    1.问题描述
      两个二进制数11110011101和1111101001的和是多少?请用二进制表示,注意在提交的时候不要提交前导0。
    答案提交
      这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个二进制数,在提交答案时只填写这个二进制数,填写多余的内容将无法得分。

    答案:101110000110

    2.问题描述
      在计算机存储中,15.125GB是多少MB?
    答案提交
      这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

    答案:15488

    3.问题描述
      由1对括号,可以组成一种合法括号序列:()。
      由2对括号,可以组成两种合法括号序列:()()、(())。
      由4对括号组成的合法括号序列一共有多少种?
    答案提交
      这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

    答案:35

    4.问题描述
      一棵包含有2019个结点的树,最多包含多少个叶结点?
    答案提交
      这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

    答案:2018

    5.问题描述
      给定整数 m,在数列 a_1, a_2, ..., a_n中,如果两个数的和为 m 的倍数,则称为一个倍数对。
      给定一个数列,请问数列中总共有多少个倍数对。
    输入格式
      输入的第一行包含两个整数 n, m,分别表示数列中的元素个数和给定的整数 m。
      第二行包含 n 个整数 a_1, a_2, ..., a_n,相邻的整数间用空格分隔,表示给定的数列。
    输出格式
      输出一行包含一个整数,表示答案。
    样例输入
    6 3
    6 1 2 5 6 2
    样例输出
    4
    样例说明
      倍数对包括:a_1 和 a_5, a_2 和 a_3, a_2 和 a_4, a_2 和 a_6。
    评测用例规模与约定
      对于 50% 的评测用例,1 <= n <= 100,1 <= m <= 1000,0 <= 数列中的数 <= 1000。
      对于所有评测用例,1 <= n <= 1000,1 <= m <= 1000,0 <= 数列中的数 <= 10000。

    答案:

    #include <bits/stdc++.h> 
    using namespace std;
    const int maxn = 100000+10;
    int a[maxn];
    int main(){
        memset(a,0,sizeof(a));
        int n,m,num=0;
        cin>>n>>m;
        for(int i=0;i<n;i++)
        {
            cin>>a[i];
        }
        for(int j=0;j<n;j++){
            for(int k=j+1;k<n;k++){
                if((a[j]+a[k])%m==0)
                num++;
            }
        }
        cout<<num<<endl;
        return 0;
    } 
    

    6.问题描述
      给定两个正整数 n 和 m,请问在整数 1 至 n 中,各位数字的平方和为 m 的总共有多少个?
      例如,当 n=100,m=5 时,只有 12 和 21 各位数字的平方之和为 5,所以答案为 2。
    输入格式
      输入的第一行包含两个整数 n 和 m,用一个空格分隔。
    输出格式
      输出一行包含一个整数,表示答案。
    样例输入
    100 5
    样例输出
    2
    评测用例规模与约定
      对于 40% 的评测用例,1 <= n <= 1000,1 <= m <= 1000。
      对于所有评测用例,1 <= n <= 1000000,1 <= m <= 1000。

    答案:

    #include <bits/stdc++.h> 
    using namespace std;
    int main()
    {
        int n,m,num=0;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            int a=i,r=0;
            while(a)
            {
                r+=(a%10)*(a%10);
                a/=10;
            }
            if(r==m)
            num++;
        }
        cout<<num<<endl;
        return 0;
    }
    

    7.问题描述
      小明非常不喜欢数字 2,包括那些数位上包含数字 2 的数。如果一个数的数位不包含数字 2,小明将它称为洁净数。
      请问在整数 1 至 n 中,洁净数有多少个?
    输入格式
      输入的第一行包含一个整数 n。
    输出格式
      输出一行包含一个整数,表示答案。
    样例输入
    30
    样例输出
    18
    评测用例规模与约定
      对于 40% 的评测用例,1 <= n <= 10000。
      对于 80% 的评测用例,1 <= n <= 100000。
      对于所有评测用例,1 <= n <= 1000000。

    答案:

    #include<iostream> 
    using namespace std;
    int main()
    {
        int n;
        cin >> n;
        int num = n;
        for(int i = 1; i <= n; i++){
            int a = i;
            int b = i;
            while(a){
                a = a%10;
                b = b/10;
                if(2 == a || 2 == b){
                    num--;
                    break;
                }
                a = a/10;            
            }
        }
        cout<< num ;
        return 0;
    }
    
    

    8.问题描述
      小明开了一家花店,这天,有个客户定了非常多的花,按客户的需要,这些花要排成 n 行 m 列。
      小明要将这些花运送到客户那,然而由于花太多,需要分两辆车才能装下。
      小明怕自己弄错花的顺序,因此在分车的时候,他准备将前面一些列(注意不是行)的花放在第一辆车上,将其实的花放在第二辆车上。
      已知每盆花的重量,要使第一辆车和第二辆车尽可能总重量一致,请帮助小明分装这些花,请告诉小明两辆车的重量最小差多少。
    输入格式
      输入的第一行包含两个整数 n, m,分别表示行数和列数。
      接下来 n 行,每行 m 个正整数,分别表示每盆花的重量。
    输出格式
      输出一个整数,表示总重量最接近时两车的重量之差(的绝对值)。
    样例输入
    3 4
    1 2 3 9
    5 6 7 8
    2 3 4 9
    样例输出
    7
    样例说明

    将前 3 列放一辆车,后 1 列放一辆车,第一辆比第二辆重 7 。
    评测用例规模与约定
      对于 30% 的评测用例,2 <= n, m <= 20。
      对于 70% 的评测用例,2 <= n, m <= 100。
      对于所有评测用例,2 <= n, m <= 1000,每盆花的重量不超过 1000。

    答案:

    #include<iostream>
    #include <bits/stdc++.h> 
    using namespace std;
    int f(int *arr,int a,int lenth){
        int sum1 = 0;
        int sum2 = 0;
        for(int i = 0; i < a; i++){
            sum1 += arr[i];
        }
        for(int j = lenth-a+1; j < lenth; j++){
            sum2 += arr[j];
        }
        
        if(sum1 >= sum2)
            return (sum1-sum2);
        else 
            return (sum2-sum1);
    }
    int main()
    {
        int n,m;
        cin >> n >> m;
        int sum[m];
        int a[n][m];
        int arr[n];
        int t;
        for(int i = 0; i < n; i++){
            for(int j = 0; j < m; j++)
                cin >> a[i][j];
        }
        for(int i = 0; i < m; i++){
            sum[i]=0;
            for(int j = 0; j < n; j++) 
                sum[i] += a[j][i];
        }
                
        for(int i = 0; i < m; i++){
            arr[i] = f(sum,i,m);    
        }
        for(int i = 0; i < m; i++){
            for(int j = 0; j < m; j++){
                t = min(arr[i],arr[j]); 
            }   
        }
        cout << t;
        return 0;
     }
    

    9.问题描述
      小明每天都要练功,练功中的重要一项是梅花桩。
      小明练功的梅花桩排列成 n 行 m 列,相邻两行的距离为 1,相邻两列的距离也为 1。
      小明站在第 1 行第 1 列上,他要走到第 n 行第 m 列上。小明已经练了一段时间,他现在可以一步移动不超过 d 的距离(直线距离)。
      小明想知道,在不掉下梅花桩的情况下,自己最少要多少步可以移动到目标。
    输入格式
      输入的第一行包含两个整数 n, m,分别表示梅花桩的行数和列数。
      第二行包含一个实数 d(最多包含一位小数),表示小明一步可以移动的距离。
    输出格式
      输出一个整数,表示小明最少多少步可以到达目标。
    样例输入
    3 4
    1.5
    样例输出
    3
    评测用例规模与约定
      对于 30% 的评测用例,2 <= n, m <= 20,1 <= d <= 20。
      对于 60% 的评测用例,2 <= n, m <= 100,1 <= d <= 100。
      对于所有评测用例,2 <= n, m <= 1000,1 <= d <= 100。

    10.问题描述
      小明和朋友们一起去郊外植树,他们带了一些在自己实验室精心研究出的小树苗。
      小明和朋友们一共有 n 个人,他们经过精心挑选,在一块空地上每个人挑选了一个适合植树的位置,总共 n 个。他们准备把自己带的树苗都植下去。
      然而,他们遇到了一个困难:有的树苗比较大,而有的位置挨太近,导致两棵树植下去后会撞在一起。
      他们将树看成一个圆,圆心在他们找的位置上。如果两棵树对应的圆相交,这两棵树就不适合同时植下(相切不受影响),称为两棵树冲突。
      小明和朋友们决定先合计合计,只将其中的一部分树植下去,保证没有互相冲突的树。他们同时希望这些树所能覆盖的面积和(圆面积和)最大。
    输入格式
      输入的第一行包含一个整数 n ,表示人数,即准备植树的位置数。
      接下来 n 行,每行三个整数 x, y, r,表示一棵树在空地上的横、纵坐标和半径。
    输出格式
      输出一行包含一个整数,表示在不冲突下可以植树的面积和。由于每棵树的面积都是圆周率的整数倍,请输出答案除以圆周率后的值(应当是一个整数)。
    样例输入
    6
    1 1 2
    1 4 2
    1 7 2
    4 1 2
    4 4 2
    4 7 2
    样例输出
    12
    评测用例规模与约定
      对于 30% 的评测用例,1 <= n <= 10;
      对于 60% 的评测用例,1 <= n <= 20;
      对于所有评测用例,1 <= n <= 30,0 <= x, y <= 1000,1 <= r <= 1000。

    相关文章

      网友评论

          本文标题:2019蓝桥杯校选赛题目及答案

          本文链接:https://www.haomeiwen.com/subject/mfvagctx.html