首页 > 其他分享 >真题-桂城2017年六年级(答案+题目)

真题-桂城2017年六年级(答案+题目)

时间:2024-12-05 12:58:35浏览次数:8  
标签:输出 正整数 积木 int 桂城 真题 测试数据 题目 2017

今天我给大家出一套C++真题-桂城2017年六年级考题

限时2.5小时,大家加油!!!

题目1:更多闰年

题目描述
在 smoj 网站上,有很多针对小学信息学入门的课程,把这些入门课程的题都刷一遍并理解之后,你就算正式的信息学选手啦。例如课程 9 的某一道题是这样的:
输入两个正整数 a 和 b,表示开始的年份和结束的年份,问从 a 年到 b 年有多少闰年?闰年只需要满足如下两个条件之一:
1.能整除 400
2.能整除 4,但不能整除 100

输入格式
第一行 2 个整数 a 和 b,范围在[1, 1000000000]。

输出格式
一个整数。

样例

输入数据 1

1 10000

输出数据 1

2425

提示
对于 80%的数据,b<=100000000。

题目2:吃萝卜

题目描述
兔子有 N 盒胡萝卜,编号 0 到 N-1,第 i 盒包含 a[i]根胡萝卜。她决定从这些盒子里总共吃 K 根胡萝卜。她一次只吃一根胡萝卜,每次从胡萝卜最多的盒子里选一个胡萝卜吃。如果有多个满足条件的盒子,她将选择其中编号最小的盒子。输出最后一次吃胡萝卜的盒子编号。

输入格式
第 1 行,两个正整数,N 和 K。1 <= N <= 50。
第 2 行,N 个整数,第 i 个整数是 a[i]。1 <= a[i] <= 100。数据保证所有的胡萝卜总和大于等于 K。

输出格式
一个整数,表示最后一次吃胡萝卜的盒子编号.

样例

输入数据 1

2 3
5 8

输出数据 1

1

输入数据 2

2 4
5 8

输出数据 2

0

 

题目3:倍数

题目描述
给定一个整数 X,能不能通过调换 X 数字的位置,使得调换之后得到的数是 X 的倍数?
注意:交换数字位置之后得到的数不能有前导 0。如果可以输出"Possible",否则输出"Impossible"。其中双引号不用输出。

输入格式
多组测试数据。
第一行,一个整数 G,表示有 G 组测试数据。 1 <=G<=11。
每组测试数据格式:

  • 一个正整数 X, X 的范围是[1,1000000]。

输出格式
如果可以输出"Possible",否则输出"Impossible"。

样例

输入数据 1

5
142857
14
1035
1000000
4

输出数据 1

Possible
Impossible
Possible
Impossible
Impossible

样例解释

  • 第一组测试数据:
    • 可以通过把 142857 交换数字的位置,得到 285714。
    • 因为 285714=2*142857,所以满足要求,输出 Possible
  • 第二组测试数据:
    • 只能变成 41,但不能整除 14。
  • 第三组测试数据:
    • 可以变成 3105, 3105 = 3 * 1035。、
  • 第四组测试数据:
    • 不能变化,因为不能出现前导 0。
  • 第五组测试数据:
    • 没得变化。

题目4:猫和兔子

题目描述

一只猫和一只兔子玩简单的猜谜游戏。猫选择了两个不同的正整数 xx 和 yy ,然后他告诉兔子 nn 个正整数,这 nn 个正整数当中,有一个是 x+yx+y ,还有一个是 x-yx−y ,剩余的 n-2n−2 个是任意给的。兔子喜欢大整数,输出 x*yx∗y 的最大可能值。

输入格式

多组测试数据。

第一行,一个整数 GG ,表示有 GG 组测试数据 ( 1 \le G \le 51≤G≤5 )。

每组测试数据格式如下:

第 1 行,一个正整数 nn 。( 2 \le N \le 502≤N≤50 )。

第 2 行, nn 个正整数,空格分开,就是猫给出的那 nn 个正整数, 范围都是 [1,100], 数据保证这 nn 个正整数都是不同的,而且一定有解。

输出格式

共 G 行,每行一个正整数。

样例

输入数据 1

5
3
1 4 5
4
1 4 5 8
9
9 8 7 6 5 4 3 2 1
2
2 100
5
50 58 47 57 40

输出数据 1

6
12
20
2499
441

样例解释

对于第 2 组测试数据的解释:

当 x=3x=3 且 y=2y=2 是可行的,此时 x*yx∗y = 6。

但 x=6x=6 且 y=2y=2 也是可行,此时 x*y=12x∗y=12。

可以发现,后者更优

 

题目5:积木

题目描述
乔治喜欢玩积木。目前他有 N 块积木,编号为 1 到 N。所有积木的高度都是正整数,第 i 块积木高度是 H[i]。乔治喜欢用积木堆起尽可能高的塔。他堆积木的过程中,只需要同时满足如下三个规则:

  • 积木必须堆放在同一个列中,一个搭在另一个上面。最终的塔的高度就是构成塔的所有积木的高度总和。
  • 塔中使用的积木的编号从底部到顶部必须是递增的。换句话说,每当乔治把积木 x 放在积木 y 的上面,必须要满足编号 x 大于 编号 y。
  • 乔治永远不会把高度是偶数的积木放置在高度是奇数的积木上面。

在满足上面的前提下,塔最高是多高?

输入格式
多组测试数据。
第一行,一个整数 G,表示有 G 组测试数据。1 <= G <= 5。
每组测试数据格式如下:

  • 第 1 行,一个正整数 N。 2 <= N <= 50。
  • 第 2 行,N 个正整数,空格分开,第 i 个整数就是编号为 i 的积木的高度 H[i], 1 <= H[i] <= 50。

输出格式
共 G 行,每行一个正整数。

样例

输入数据 1

5
2
4 7
2
7 4
1
7
1
4
7
48 1 50 1 50 1 48

输出数据 1

11
7
7
4
196

样例解释
对于第 5 组测试数据的解释:
从底部往顶部,依次选择第 1、第 3、第 5、第 7 块积木,这样塔的高度是:48+50+50+48=196。

 

题目1答案:

代码

#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b;
	cin>>a>>b;
	int s=0;
	for(int i=a;i<=b;i++)
	{
		if(i%400==0||i%4==0&&i%100!=0)
		{
			s++;
		}
	}
	cout<<s;
	return 0;
}

题目2答案: 

代码

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int n,k;
    cin >>n>>k;
    vector<int> c(n);
    for (int i=0;i<n;i++)
	{
        cin>>c[i];
    }
    int s=0;
    while (k>0) 
	{
        int t=c[0];
        int a=0;
        for (int i=1;i<n;i++) 
		{
            if (c[i]>t) 
			{
                t=c[i];
                a=i;
            }
        }
        c[a]--;
        k--;
        s=a;
    }
    cout<<s<<endl;
	return 0;
}

题目3答案: 

代码

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n,m,t,c,x,i,k,j,s;
    long long int a[1000],b[11],d[10000];
    scanf("%d",&t);
    while(t--) 
	{
        c=0;
        scanf("%d",&n);
        for(i=2; i<10; i++)
		{
			b[i]=n*i;
		} 
        while(n!=0) 
        {
            a[++c]=n%10;
            n=n/10;
        }
        for(i=2; i<10; i++) 
        {
            s=0;
            while(b[i]!=0) 
            {
                d[++s]=b[i]%10;
                b[i]=b[i]/10;
            }
            m=0;
            if(s==c)
             {
                for(j=1; j<=s; j++)
				{
					for(k=1; k<=s; k++) 
                    {
                        if(a[j]==d[k]) 
                        {
                            d[k]=-1;
                            m++;
                            break;
                        }
                    }
				}           
                if(m==c) 
                {
                    printf("Possible\n");
                    break;
                } 
            }
            if(m!=c&&i==9) 
			{
				printf("Impossible\n");
			}
        }
    }
    return 0;
}

题目4答案: 

代码

#include <bits/stdc++.h>
#pragma GCC optimize(2)
using namespace std;
int main() 
{
    long long n,m,t,x,i,j,s,a[1000],b;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i=1;i<=n;i++)
        {
            scanf("%d",&a[i]);
        }
        m=-1;
        sort(a+1,a+1+n);
        for(j=1;j<=n;j++)
        {
            for(i=1;i<=n;i++)
            {
                x=a[i]*a[i];
                s=a[j]*a[j];
                if((x-s)%4==0&&i!=j)
                {
                    b=(x-s)/4;
                    m=max(b,m);
                }
            }
        }
        printf("%d\n",m);
    }
    return 0;   
}

题目5答案: 

代码

#include<bits/stdc++.h>
using namespace std;
int k,n,a[100000],b[100000],c[100000],x,s;
int main()
{
    cin>>k;
    for(int i=1;i<=k;i++)
    {
        cin>>n;
        for(int j=1;j<=n;j++)
        {
            cin>>a[j];
            b[j]=b[j-1];
            if(a[j]%2==0)
            {
                b[j]+=a[j];
            }
        }
        for(int j=n;j>=1;j--)
        {
            c[j]=c[j+1];
            if(a[j]%2==1)
            {
                c[j]+=a[j];
            }
        }
        for(int j=1;j<=n;j++)
        {
            x=b[j]+c[j];
            s=max(s,x);
        }
        cout<<s<<endl;
        s=0;
        for(int j=1;j<=n;j++)
        {
            b[j]=0;
            c[j]=0;
        }
    }
    return 0;
}

标签:输出,正整数,积木,int,桂城,真题,测试数据,题目,2017
From: https://blog.csdn.net/zhangguanghao9/article/details/144237920

相关文章

  • OSG开发笔记(三十七):OSG基于windows平台msvc2017x64编译器官方稳定版本OSG3.4.1搭建环境
    前言  自行编译的osg版本插件比较多,如果对版本没有特定要求,但是对环境编译器有特定要求,可以反向融合编译器符合要求的osg版本。 OSG下载过程  osg官网:http://www.osgchina.org        由于我们不使用osgQt模块,下载了也无所谓,反正不用,这里是osg3.6.4......
  • 2024年华为OD机试真题-数字游戏 -Python-OD统一考试(E卷)
    最新华为OD机试考点合集:华为OD机试2024年真题题库(E卷+D卷+C卷)_华为od机试题库-CSDN博客     每一题都含有详细的解题思路和代码注释,精编c++、JAVA、Python三种语言解法。帮助每一位考生轻松、高效刷题。订阅后永久可看,发现新题及时跟新。题目描述小明玩一个游戏。系......
  • P3750 [六省联考 2017] 分手是祝愿 题解
    P3750[六省联考2017]分手是祝愿题面ZeitundRaumtrennendichundmich.时空将你我分开。B君在玩一个游戏,这个游戏由\(n\)个灯和\(n\)个开关组成,给定这\(n\)个灯的初始状态,下标为从\(1\)到\(n\)的正整数。每个灯有两个状态亮和灭,我们用\(1\)来表示这个灯......
  • 蓝桥杯真题中等题第三题刷题统计
    题目链接:https://www.lanqiao.cn/problems/2098/learning/?page=1&first_category_id=1&second_category_id=3&tags=2022,省赛&tag_relation=intersectionJava代码如下:importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){......
  • 15天大厂真题带刷day9
    ZT41 【模板】单源最短路Ⅰ‖无权图描述对于给定的由 ......
  • OSG开发笔记(三十六):osg3.4.0基于windows平台msvc2017x64编译器编译并移植Demo
    前言  本篇编译osg3.4.0的msvc2017x64版本,之前使用的都是mingw32版本。 OSG编译步骤一:下载解压  下载3.4.0版本。  步骤二:使用cmake配置        因为是64位,可以通过后续配置cmake用x64,也可以直接选择构架:    继续:    ......
  • VS2017 设置 类模板参数推导(CTAD, Class Template Argument Deduction)
    ''#includestd::mutexm_mutex;...std::lock_guardlock(m_mutex);//A..以上代码编译提示C2955,没有模板参数改为std::lock_guardstd::mutexlock(m_mutex);编译成功但是有的代码用A处的写法,编译就成功。原因虽然C++17引入了类模板参数推导(CTAD,Class......
  • 华水967数据结构2005真题---选择题部分
    一.选择题1.在数据结构中,从逻辑上可以把数据结构分成()。A、动态结构和静态结构B、紧凑结构和非紧凑结构C、线性结构和非线性结构D、内部结构和外部结构答案:C解析:A.动态结构和静态结构:这个分类更多地涉及到数据结构的可变性,而不是其逻辑组织形式。动态结构通常指可......
  • 2017 NHOI小学(C++)
    A.吃西瓜(2017NHOI小学1)问题描述:炎热的夏天来的可真快,小花猫和编程兔决定去买一个又大又甜的西瓜。可是小花和编程兔是两只非常奇怪的动物,都是偶数的爱好者,它们希望把西瓜切成两半后,每一部分的重量都是2的倍数公斤(大于0)。当然有编程兔在,它们很快就决定了买哪个瓜。小朋......
  • 25 北京理工大学机械工程车辆工程考研复试面试超全攻略英语口语复试真题经验分享
    一、北京理工复试流程复试考察形式(笔试+面试)北京理工大学机械类专业复试流程如下:此次机车0102方向复试在27号一天内完成,29号下午便会公布成绩。鉴于时间紧凑,仅一天时间,即便某一场发挥欠佳,也别让其影响后续场次,保持良好心态至关重要。复试面试涵盖五个部分:英语口语占10分,......