专栏首页工科狗和生物喵【计算机本科补全计划】CCF计算机职业资格认证 2016-09 试题详解

【计算机本科补全计划】CCF计算机职业资格认证 2016-09 试题详解

正文之前

我要东山再起了!!没错CCF迫在眉睫(其实是我以为报名之后一个月才考,结果报名截止之后一周就考试!(╯‵□′)╯︵┻━┻!!!还能好好做朋友吗!!)所以今天火急火燎的就开始写题目了!结果,二十分钟写出第一题,40分钟写第二题结果大错特错,数组全他么越界了!烦躁! 不就是一阵子没用C++了。怎么我现在这么菜!!????!!

正文

1、201609-1

试题编号:

201609-1

试题名称:

最大波动

时间限制:

1.0s

内存限制:

256.0MB

问题描述

小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。

输入格式

输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。

第二行包含n个正整数,依次表示每天的收盘价格。

输出格式

输出一个整数,表示这只股票这n天中的最大波动值。

样例输入

6

2 5 5 7 3 5

样例输出

4

样例说明

第四天和第五天之间的波动最大,波动值为

3-7

评测用例规模与约定

对于所有评测用例,2 ≤ n ≤ 1000。股票每一天的价格为1到10000之间的整

我的代码展示:

  • 问题描述

小明正在利用股票的波动程度来研究股票。小明拿到了一只股票每天收盘时的价格,他想知道,这只股票连续几天的最大波动值是多少,即在这几天中某天收盘价格与前一天收盘价格之差的绝对值最大是多少。

  • 输入格式

输入的第一行包含了一个整数n,表示小明拿到的收盘价格的连续天数。 第二行包含n个正整数,依次表示每天的收盘价格。

  • 输出格式

输出一个整数,表示这只股票这n天中的最大波动值。

  • 样例输入

6 2 5 5 7 3 5

  • 样例输出

4

  • 样例说明
  • 第四天和第五天之间的波动最大,波动值为

3-7评测用例规模与约定

  • 对于所有评测用例,2 ≤ n ≤ 1000。股票每一天的价格为1到10000之间的整

我的代码展示:

#include <iostream>
#include <vector>
using namespace std;

int abs(int x)
{
    if(x<0)
        x=-x;
    return x;
}


int main()
{   
    int num;
    cin>>num;
    int x=1,wave=0;
    int pre=0,p=0;
    cin>>pre;
    while(x<num-1)
    {
        cin>>p;
        if(wave<abs(p-pre))
            wave=abs(p-pre);
        pre=p;
        ++x;
    }
    cout<<wave<<endl;

    return 0;
}

运行结果:

Last login: Mon Nov 27 19:39:57 on ttys000
HustWolf:~ zhangzhaobo$ /Users/zhangzhaobo/program/C++/CCF_2016_09_1 ; exit;
6
2 5 5 7 3 5
4
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[进程已完成]

2、 201609-2

试题编号:

201609-2

试题名称:

火车购票

时间限制:

1.0s

内存限制:

256.0MB

问题描述

请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。

假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。

购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。

假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。

输入格式

输入的第一行包含一个整数n,表示购票指令的数量。

第二行包含n个整数,每个整数p在1到5之间,表示要购入的票数,相邻的两个数之间使用一个空格分隔。

输出格式

输出n行,每行对应一条指令的处理结果。

对于购票指令p,输出p张车票的编号,按从小到大排序。

样例输入

4

2 5 4 2

样例输出

1 2

6 7 8 9 10

11 12 13 14

3 4

样例说明

1) 购2张票,得到座位1、2。

2) 购5张票,得到座位6至10。

3) 购4张票,得到座位11至14。

4) 购2张票,得到座位3、4。

评测用例规模与约定

对于所有评测用例,1 ≤ n ≤ 100,所有购票数量之和不超过100。

我的答案代码~~

  • 问题描述

请实现一个铁路购票系统的简单座位分配算法,来处理一节车厢的座位分配。 假设一节车厢有20排、每一排5个座位。为方便起见,我们用1到100来给所有的座位编号,第一排是1到5号,第二排是6到10号,依次类推,第20排是96到100号。 购票时,一个人可能购一张或多张票,最多不超过5张。如果这几张票可以安排在同一排编号相邻的座位,则应该安排在编号最小的相邻座位。否则应该安排在编号最小的几个空座位中(不考虑是否相邻)。 假设初始时车票全部未被购买,现在给了一些购票指令,请你处理这些指令。

  • 输入格式

输入的第一行包含一个整数n,表示购票指令的数量。 第二行包含n个整数,每个整数p在1到5之间,表示要购入的票数,相邻的两个数之间使用一个空格分隔。

  • 输出格式

输出n行,每行对应一条指令的处理结果。 对于购票指令p,输出p张车票的编号,按从小到大排序。

  • 样例输入

4 2 5 4 2

  • 样例输出

1 2 6 7 8 9 10 11 12 13 14 3 4

  • 样例说明

1) 购2张票,得到座位1、2。 2) 购5张票,得到座位6至10。 3) 购4张票,得到座位11至14。 4) 购2张票,得到座位3、4。

  • 评测用例规模与约定

对于所有评测用例,1 ≤ n ≤ 100,所有购票数量之和不超过100。 我的答案代码~~

#include <iostream>
using namespace std;

void BuyTicket(int a[20][5],int Tickets)
{
    int (*p)[5]=a;
    bool flag=false;
    for(int i=0;i<20;++i)
    {
        int *q=*p;
        if(q[5-Tickets]==0)
        {
            for(int z=0;z<5;++z)
            {
                if(q[z]==0 && Tickets!=0)
                {
                    q[z]=1;
                    --Tickets;
                    cout<<5*i+z+1<<" ";
                }
            }
            cout<<endl;
            flag=true;
            break;
        }
        ++p;
    }
    if(!flag)
    {
        int (*m)[5]=a;
        for(int i=0;i<20;++i)
        {
            int *q=*m;
            for(int n=0;n<5;++n)
            {
                if(q[n]==0 && Tickets!=0)
                {
                    q[n]=1;
                    --Tickets;
                    cout<<5*i+n+1<<" ";
                }
            }
        }

    }


}


int main()
{
    int num,Tickets;
    int a[20][5];
    for(int i=0;i<20;++i)
        for(int j=0;j<5;++j)
            a[i][j]=0;
    cin>>num;
    for(int i=0;i<num;++i)
    {
        cin>>Tickets;
        cout<<i+1<<" : ";
        BuyTicket(a,Tickets);
    }
    cout<<"\n=============\n\n";
    for(auto p=begin(a);p!=end(a);++p)
    {   
        for(auto q=begin(*p);q!=end(*p);++q)
        {
            if(*q!=0)
                cout<<"* | ";
        }
        cout<<endl;
    }
    return 0;
}

运行结果:

Last login: Mon Nov 27 23:19:39 on ttys000
HustWolf:~ zhangzhaobo$ /Users/zhangzhaobo/program/C++/CCF_2016_09_2 ; exit;
24
1 2 4 5 2 3 4 1 2 4 5 2 3 4 1 2 4 5 2 3 4 1 2 4 5 2 3 4 
1 : 1 
2 : 2 3 
3 : 6 7 8 9 
4 : 11 12 13 14 15 
5 : 4 5 
6 : 16 17 18 
7 : 21 22 23 24 
8 : 10 
9 : 19 20 
10 : 26 27 28 29 
11 : 31 32 33 34 35 
12 : 36 37 
13 : 38 39 40 
14 : 41 42 43 44 
15 : 25 
16 : 46 47 
17 : 51 52 53 54 
18 : 56 57 58 59 60 
19 : 48 49 
20 : 61 62 63 
21 : 66 67 68 69 
22 : 30 
23 : 64 65 
24 : 71 72 73 74 

=============

* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | 
* | * | * | * | 
* | * | * | * | 
* | * | * | * | * | 
* | * | * | * | * | 
* | * | * | * | 
* | * | * | * | 





logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[进程已完成]

善做主张加了点东西,好看了不少,不然就那逼样,实在是美观欠奉啊!~~

本文分享自微信公众号 - 工科狗和生物喵(gh_3507b116a1f8),作者:HustWolf

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-04-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 【计算机本科补全计划】CCF计算机职业资格认证 2016-12 试题详解

    正文之前 最近练算法,不过最可气的,我写出来的程序一直算法越界!!题目要求到1000个输入都能正常工作,但是我的一般500个就直接越界了!!!咋办!!!咋办!!...

    用户1687088
  • 【计算机本科补全计划】CCF计算机职业资格认证 2016-09-03(炉石传说)详解

    正文之前 这是2016年九月份的CCF考试的第三题,按照高分标准来算,应该是在30min内解决??然而。我昨晚花了10mins看完了题目,今天上午有限元课的时候...

    用户1687088
  • 【计算机本科补全计划】CCF计算机职业资格认证 201709-01/02详解

    正文之前 貌似我找到的那个题目网站更新了一波最新的题目。不过201709 只有1、2 题,所以先做了吧(其实是我自己对能不能做出第三题 持怀疑态度!)宝宝心里苦...

    用户1687088
  • 【计算机本科补全计划】CCF计算机职业资格认证 2017-03 试题初试

    正文之前 我在之前的文章中提到过,我的老师要求我的CCF 考试考个280分来打个底,(没错,我就是那个横跨考研、工作、保研三大领域的男人)相当于是测试下我的能力...

    用户1687088
  • 【计算机本科补全计划】CCF计算机职业资格认证 2016-04-1/2(俄罗斯方块)详解

    正文之前 果然,上一篇文章结尾的预言果然一语成谶,2016-09-4我果然没做出来。没错,昨晚到现在都没有做出来,当然,也是我做了一晚上心灰意冷,然后去欺负本文...

    用户1687088
  • 2015年ccf计算机职业认证资格考试第一题数列分段

      输入的第一行包含一个整数n,表示数列中整数的个数。   第二行包含n个整数a1, a2, …, an,表示给定的数列,相邻的整数之间用一个空格分隔。

    glm233
  • 【计算机本科补全计划】C++牛客网试题习题解析

    正文之前 一大早醒来,外面淅淅沥沥的雨绵绵的下着,床铺真的舒服,但是我也不能就在床上刷微博看小说吧,所以想起了昨晚下载的牛客网的APP,赶紧掏出我的大宝贝---...

    用户1687088
  • 预见 创见 灼见 ——犀牛鸟论坛与您相约CCF青年精英大会

    作为“CCF 青年工作委员会”合作伙伴,腾讯与2016年青年精英大会紧密合作,将在大会第一天(5月27日)下午组织 “犀牛鸟青年精英论坛”活动。论坛将面向“...

    腾讯高校合作
  • 以“犀牛鸟的名义”,为青年学者点赞

    2016年度CCF-腾讯犀牛鸟基金共计支持18项科研基金,22项创意基金。在过去的一年中,基金获奖者与腾讯研发团队在前沿科技领域的开展深入合作。 双方根据共同关...

    腾讯高校合作

扫码关注云+社区

领取腾讯云代金券