CCF考试真题题解

CCF考试认证:题解参考博客http://blog.csdn.net/u014578266/article/details/45221841

问题描述
试题编号:    201503-1
试题名称:    图像旋转
时间限制:    5.0s
内存限制:    256.0MB
问题描述:
问题描述
  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。
  计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。
输入格式
  输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。
  接下来n行每行包含m个整数,表示输入的图像。
输出格式
  输出m行,每行包含n个整数,表示原始矩阵逆时针旋转90度后的矩阵。
样例输入
2 3
1 5 3
3 2 4
样例输出
3 4
5 2
1 3
评测用例规模与约定
  1 ≤ n, m ≤ 1,000,矩阵中的数都是不超过1000的非负整数。

#include <iostream>
#define max 1002
using namespace std;

int a[max][max];
int main()
{
    int m,n;
    while(cin>>n>>m){
        for(int i = 0;i < n;i++){
            for(int j = 0;j < m;j++){
                cin>>a[i][j];
            }
        }
        for(int j = m-1;j>=0;j--){
            for(int i = 0;i<n;i++){
                cout<<a[i][j]<<" ";
            }
            cout<<endl;
        }
    }
    return 0;
}

问题描述
试题编号:    201503-2
试题名称:    数字排序
时间限制:    1.0s
内存限制:    256.0MB
问题描述:
问题描述
  给定n个整数,请统计出每个整数出现的次数,按出现次数从多到少的顺序输出。
输入格式
  输入的第一行包含一个整数n,表示给定数字的个数。
  第二行包含n个整数,相邻的整数之间用一个空格分隔,表示所给定的整数。
输出格式
  输出多行,每行包含两个整数,分别表示一个给定的整数和它出现的次数。按出现次数递减的顺序输出。如果两个整数出现的次数一样多,则先输出值较小的,然后输出值较大的。
样例输入
12
5 2 3 3 1 3 4 2 5 2 3 5
样例输出
3 4
2 3
5 3
1 1
4 1
评测用例规模与约定
  1 ≤ n ≤ 1000,给出的数都是不超过1000的非负整数

#include <iostream>
#define max 1005
using namespace std;

struct a{
    int index;
    int count;
    a(){
        count = 1;
    }
}b[max],e;

//冒泡排序
void Sort(int y){
    for(int j = 1;j < y;j++){
    for(int i = 0;i < y-j;i++){
        if(b[i].count < b[i+1].count ||(b[i].count == b[i+1].count && b[i].index > b[i+1].index)){
            e.index = b[i].index;
            e.count = b[i].count;
            b[i].index = b[i+1].index;
            b[i].count = b[i+1].count;
            b[i+1].index = e.index;
            b[i+1].count = e.count;
        }
    }
}
}
int main()
{
    int n,c;
    while(cin>>n){
            int Index = 1;
            cin>>b[0].index;
        for(int i = 1;i < n;i++){
            cin>>c;
            bool zhang = true;
            for(int j = 0;zhang && j < Index;j++){
                if(c==b[j].index){
                    b[j].count++;
                    zhang = false;
                }
            }
            if(zhang){
                b[Index++].index = c;
            }
        }

        Sort(Index);
        for(int t = 0;t < Index;t++){
            cout<<b[t].index<<" "<<b[t].count<<endl;
        }
    }
    return 0;
}

问题描述
试题编号:    201503-3
试题名称:    节日
时间限制:    1.0s
内存限制:    256.0MB
问题描述:
问题描述
  有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。
  现在,给你a,b,c和y1, y2(1850 ≤ y1, y2 ≤ 2050),希望你输出从公元y1年到公元y2年间的每年的a月的第b个星期c的日期。
  提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍数时是闰年,其他年份都不是闰年。例如1900年就不是闰年,而2000年是闰年。
  为了方便你推算,已知1850年1月1日是星期二。
输入格式
  输入包含恰好一行,有五个整数a, b, c, y1, y2。其中c=1, 2, ……, 6, 7分别表示星期一、二、……、六、日。
输出格式
  对于y1和y2之间的每一个年份,包括y1和y2,按照年份从小到大的顺序输出一行。
  如果该年的a月第b个星期c确实存在,则以"yyyy/mm/dd"的格式输出,即输出四位数的年份,两位数的月份,两位数的日期,中间用斜杠“/”分隔,位数不足时前补零。
  如果该年的a月第b个星期c并不存在,则输出"none"(不包含双引号)。
样例输入
5 2 7 2014 2015
样例输出
2014/05/11
2015/05/10
评测用例规模与约定
  所有评测用例都满足:1 ≤ a ≤ 12,1 ≤ b ≤ 5,1 ≤ c ≤ 7,1850 ≤ y1, y2 ≤ 2050。

这道题是个死坑,搞了好久都不曾搞出来,被气的,伤心啊……

问题描述
试题编号:    201503-4
试题名称:    网络延时
时间限制:    1.0s
内存限制:    256.0MB
问题描述:
问题描述
  给定一个公司的网络,由n台交换机和m台终端电脑组成,交换机与交换机、交换机与电脑之间使用网络连接。交换机按层级设置,编号为1的交换机为根交换机,层级为1。其他的交换机都连接到一台比自己上一层的交换机上,其层级为对应交换机的层级加1。所有的终端电脑都直接连接到交换机上。
  当信息在电脑、交换机之间传递时,每一步只能通过自己传递到自己所连接的另一台电脑或交换机。请问,电脑与电脑之间传递消息、或者电脑与交换机之间传递消息、或者交换机与交换机之间传递消息最多需要多少步。
输入格式
  输入的第一行包含两个整数n, m,分别表示交换机的台数和终端电脑的台数。
  第二行包含n - 1个整数,分别表示第2、3、……、n台交换机所连接的比自己上一层的交换机的编号。第i台交换机所连接的上一层的交换机编号一定比自己的编号小。
  第三行包含m个整数,分别表示第1、2、……、m台终端电脑所连接的交换机的编号。
输出格式
  输出一个整数,表示消息传递最多需要的步数。
样例输入
4 2
1 1 3
2 1
样例输出
4
样例说明
  样例的网络连接模式如下,其中圆圈表示交换机,方框表示电脑:

  其中电脑1与交换机4之间的消息传递花费的时间最长,为4个单位时间。
样例输入
4 4
1 2 2
3 4 4 4
样例输出
4
样例说明
  样例的网络连接模式如下:

  其中电脑1与电脑4之间的消息传递花费的时间最长,为4个单位时间。
评测用例规模与约定
  前30%的评测用例满足:n ≤ 5, m ≤ 5。
  前50%的评测用例满足:n ≤ 20, m ≤ 20。
  前70%的评测用例满足:n ≤ 100, m ≤ 100。
  所有评测用例都满足:1 ≤ n ≤ 10000,1 ≤ m ≤ 10000。
问题描述
试题编号:    201503-5
试题名称:    最小花费
时间限制:    4.0s
内存限制:    256.0MB
问题描述:
问题描述
  C国共有n个城市。有n-1条双向道路,每条道路连接两个城市,任意两个城市之间能互相到达。小R来到C国旅行,他共规划了m条旅行的路线,第i条旅行路线的起点是si,终点是ti。在旅行过程中,小R每行走一单位长度的路需要吃一单位的食物。C国的食物只能在各个城市中买到,而且不同城市的食物价格可能不同。
  然而,小R不希望在旅行中为了购买较低价的粮食而绕远路,因此他总会选择最近的路走。现在,请你计算小R规划的每条旅行路线的最小花费是多少。
输入格式
  第一行包含2个整数n和m。
  第二行包含n个整数。第i个整数wi表示城市i的食物价格。
  接下来n-1行,每行包括3个整数u, v, e,表示城市u和城市v之间有一条长为e的双向道路。
  接下来m行,每行包含2个整数si和ti,分别表示一条旅行路线的起点和终点。
输出格式
  输出m行,分别代表每一条旅行方案的最小花费。
样例输入
6 4
1 7 3 2 5 6
1 2 4
1 3 5
2 4 1
3 5 2
3 6 1
2 5
4 6
6 4
5 6
样例输出
35
16
26
13
样例说明
  对于第一条路线,小R会经过2->1->3->5。其中在城市2处以7的价格购买4单位粮食,到城市1时全部吃完,并用1的价格购买7单位粮食,然后到达终点。
评测用例规模与约定
  前10%的评测用例满足:n, m ≤ 20, wi ≤ 20;
  前30%的评测用例满足:n, m ≤ 200;
  另有40%的评测用例满足:一个城市至多与其它两个城市相连。
  所有评测用例都满足:1 ≤ n, m ≤ 105,1 ≤ wi ≤ 106,1 ≤ e ≤ 10000。
时间: 2024-10-11 13:29:14

CCF考试真题题解的相关文章

2016年上半年系统集成项目管理工程师考试真题(下午)

做真题是掌握考试重点以及把握考试方向的的最佳方式,因而考试真题和答案是最好的学习资料,下面希赛软考学院为您提供2016年上半年系统集成项目管理工程师考试下午试卷题目,供您参考学习. 2016年上半年系统集成项目管理工程师考试下午试题提目 试题一(20分) 阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内. [说明] 已知某信息工程项目由A至1共9个活动构成,项目组根据项目目标,特别是工期要求,经过分析.定义及评审,给出了该项目的活动历时.活动所需资源及活动逻辑关系列表,如下表所示:

历年信息系统项目管理师考试真题(附带答案及权威解析)-附免费下载地址

希赛独家:信息系统项目管理师考试历年考试真题(含真题答案,权威专家解析),请大家关注:http://www.educity.cn/rk/zt/201705fenshu/index.htm更多老师讲解视频持续更新中,请大家关注希赛网软考学院. 2017年上半年信息系统项目管理师考试真题(参考答案) 真题地址:上午题:http://www.educity.cn/tiku/tp20904.html下午题:http://www.educity.cn/tiku/tp20903.html论文真题:http:

二级MS Office高级应用考试真题精讲冲刺专用

课程目标:本课程主要用于全国计算机二级 MS Office高级应用的考前冲刺,根据我们的线下测试,本视频配合考试软件考前练习至少两遍过关率在92.8%(2015年9月份考试数据) 适合人群:主要适用于考取全国计算机二级MS Office高级应用证书的学员. 课程介绍: 本课程总共收录历年来计算机二级MS Office高级应用考试真题,对每套题进行精细讲解,遇到疑难操作会有提示同时在讲解过程中也会提示学员考试容易范的错误.主要用于考前冲刺. 本系列课程主要是有刘王斌讲师讲解,课程主要是运用于全国计

2017年上半年信息安全工程师考试真题含答案(下午题)

2017年上半年信息安全工程师考试真题含答案(下午题) https://www.moondream.cn/?p=389 第1题 阅读下列说明,回答问题 1 至问题 3,将解答写在答题纸的对 应栏内. [说明] 安全目标的关键是实现安全的三大要素:机密性.完整性和可用性.对于一般性的信息类型的安全分类有以下表达形式: { (机密性,影响等级), (完整性,影响等级), (可用性,影 响等级) } 在上述表达式中,"影响等级"的值可以取为低 (L).中(M).高(H) 三级以及不适用 (N

2016年下半年信息安全工程师考试真题含答案(下午题)

2016年下半年信息安全工程师考试真题含答案(下午题) https://www.moondream.cn/?p=328 试题一(共20分) 阅读下列说明和图,回答问题1至问题3,将解答填入答题纸的对应栏内. [说明] 研究密码编码的科学称为密码编码学,研究密码破译的科学称为密码分析学,密码编码学和密码分析学共同组成密码学.密码学作为信息安全的关键技术,在信息安全领域有着广泛的应用. [问题1](9分) 密码学的安全目标至少包括哪三个方面?具体内涵是什么? [问题2](3分) 对下列违规安全事件,

软考信息安全工程师考试真题汇总及试题分布统计

软考信息安全工程师考试真题汇总及试题分布统计 https://www.moondream.cn/?p=274 2017年信息安全工程师真题 链接:https://pan.baidu.com/s/1iGLowkGPL6HOLKgiN4LEWg    密码:请进入备考群获取 2016年信息安全工程师真题 链接:https://pan.baidu.com/s/1c5E9EdI1TIzawK1Bm-TMEQ       密码:请进入备考群获取 2016年下半年信息安全工程师考试真题含答案(上午题) 20

2016年上半年软件设计师考试真题(下午题)

软件设计师考试作为软考中级资格中的一大热门,2016年上半年和下半年都开考.上半年软考已经结束,打算参加下半年考试的你,是不是很想要拿到上半年的真题?下面希赛软考学院就为你带来2016年上半年软件设计师考试下午真题,供你参考学习.  试题一(共15分) 阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内. [说明] 某会议中心提供举办会议的场地设施和各种设备,供公司与各类组织机构租用.场地包括一个大型报告厅.一个小型报告厅以及诸多会议室.这些报告厅和会议室可提供的设备有投影仪.白板

2016年上半年网络管理员考试真题(下午题)

不管是高考还是软考,历年真题是最有参考价值的复习资料,年代越近,参考价值越高.下面希赛软考学院为您带来2016年上半年网络管理员考试下午真题,供您参考学习. 试题一(共20分) 阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内. [说明] 某网络拓扑结构如图1-1所示,路由器R1的路由信息如下所示: C 202.118.1.0/24 is directly connected,FastEthernet0/0 R 202.118.2.0/24[120/1]via 192.168.1

2016年上半年信息系统监理师考试真题(下午题)

根据<信息系统工程监理工程师登记管理办法(暂行)>(中电信监委[2016]02号)要求,参加人力资源和社会保障部.工业和信息化部共同组织的全国计算机技术与软件专业技术资格(水平)考试中的信息系统监理师考试且成绩合格为申请信息系统监理工程师初始登记的基本要求之一,因而每年都有不少人报考.下面希赛软考学院为您提供2016年上半年信息系统监理师考试下午试题,助您通过真题把握住考试方向,从而更高效地学习. 2016年上半年信息系统监理师考试下午真题 试题一(20分) 阅读下列说明,回答问题1至问题4,