201503专题

CCF - 201503-1 - 图像旋转

问题描述 试题编号:201503-1试题名称:图像旋转时间限制:5.0s内存限制:256.0MB问题描述: 问题描述   旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转90度。   计算机中的图像表示可以用一个矩阵来表示,为了旋转一个图像,只需要将对应的矩阵旋转即可。 输入格式   输入的第一行包含两个整数n, m,分别表示图像矩阵的行数和列数。   接下来n行每行包含m个整

【CSP试题回顾】201503-3-节日

CSP-201503-3-节日 关键点:格式化输出 在C++中,格式化输出通常利用iostream库中的功能,特别是iomanip头文件提供的一系列操作符。这些操作符用于控制输出格式,如宽度、填充、对齐方式等。在你提供的代码中,用于格式化输出的部分主要涉及setw和setfill操作符。 setw(int n):这是一个格式化操作符,用于设置下一个输出值的宽度。在此处,n代表输出值应

CCF 201503-3 节日 题解

问题描述 有一类节日的日期并不是固定的,而是以“a月的第b个星期c”的形式定下来的,比如说母亲节就定为每年的五月的第二个星期日。   现在,给你a,b,c和y 1, y 2(1850 ≤ y 1, y 2 ≤ 2050),希望你输出从公元y 1年到公元y 2年间的每年的a月的第b个星期c的日期。   提示:关于闰年的规则:年份是400的整数倍时是闰年,否则年份是4的倍数并且不是100的倍

【CCF-CSP】 201503-3 节日 C++

文章目录 一、题目二、解题1.思路2.代码3.提交结果 总结1.解释 一、题目 原题目链接 二、解题 1.思路 一个求解日期问题的程序,主要思路是从1850年开始遍历到给定的年份区间,累加每一年的天数并计算出给定月份的第c个星期b的具体日期。具体思路如下: 定义了一个二维数组M,其中M[0]记录了平年每个月的天数,M[1]记录了闰年每个月的天数。 实现了一个

CSP认证201503-4 网络延时[C++题解]:树的直径

题目分析 来源:acwing 分析: 树的直径的概念: 树上最远的两个节点之间的距离就被称为树的直径,连接这两点的路径被称为树的最长链。 类似于圆的直径的概念:圆上直线距离最远的两个点构成直径。 这是模板题,请参考:算法提高课-动态规划-树形DP-AcWing 1072. 树的最长路径:dfs写法 只不过模板题是有边权的,这道题边权都是1.写起来更加简单。 这道题是树的直径的模

CSP认证 201503-3 节日[C++题解]:模拟、枚举、日期题、日期模板题

题目分析 来源:acwing 分析: 每月有多少天用数组months[]来存储,下标是1 ~ 12,二月存的是平年28天。另外,星期1到星期日的下标是0~6,起点1850 年 1 月 1 日是星期二,它的下标是1.这样的话,可以用一个变量days来记录,某年某月的第一天到1850年1月1日的天数,然后 mod 7 就可以求出星期几!!!判断闰年is_leap(),是的话返回1,否则返回0

CSP认证201503-2 数字排序[C++题解]:哈希表、排序、结构体

题目分析 来源:acwing 分析: 统计出现次数,用哈希表(这里用数组模拟一下),然后用结构体数组来存,而且方便排序。 ac代码 #include<bits/stdc++.h>using namespace std;const int N = 1010;struct Number{int id, cnt;bool operator<(const Number& t)const{i

CSP认证201503-1 图像旋转[C++题解]:模拟

题目分析 来源:acwing 分析: 这题不需要复杂的处理,读入矩阵之后。只需要从后往前遍历每列,输出即可。 ac代码 #include<bits/stdc++.h>using namespace std;const int N = 1010;int g[N][N], res[N][N];int n,m;int main(){cin >> n >> m;for(int i =