博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第四届CCF软件能力认证
阅读量:4522 次
发布时间:2019-06-08

本文共 3705 字,大约阅读时间需要 12 分钟。

1.图像旋转

问题描述

  旋转是图像处理的基本操作,在这个问题中,你需要将一个图像逆时针旋转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的非负整数。

1 # include 
2 # include
3 # include
4 # include
5 # include
6 # define LL long long 7 using namespace std ; 8 9 int a[1010][1010] ;10 11 int main ()12 {13 //freopen("in.txt","r",stdin) ;14 int n , m ;15 scanf("%d%d" , &n , &m) ;16 int i , j ;17 for (i = 0 ; i < n ; i++)18 for (j = 0 ; j < m ; j++)19 scanf("%d" , &a[i][j]) ;20 for (i = m-1 ; i >= 0 ; i--)21 {22 for (j = 0 ; j < n ; j++)23 {24 printf("%d " , a[j][i]) ;25 }26 printf("\n") ;27 }28 29 30 return 0 ;31 }
View Code

2.数字排序

问题描述

  给定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的非负整数。

1 # include 
2 # include
3 # include
4 # include
5 # include
6 # define LL long long 7 using namespace std ; 8 9 struct shu10 {11 int num ;12 int id ;13 }a[1010];14 15 bool cmp(shu x , shu y)16 {17 if (x.num == y.num)18 return x.id < y.id ;19 else20 return x.num > y.num ;21 }22 23 int main ()24 {25 //freopen("in.txt","r",stdin) ;26 int n ;27 scanf("%d" , &n) ;28 int i , x ;29 for (i = 1 ; i <= 1005 ; i++)30 {31 a[i].id = i ;32 a[i].num = 0 ;33 }34 35 while(n--)36 {37 scanf("%d" , &x) ;38 a[x].num++ ;39 }40 sort(a+1 , a+1005, cmp) ;41 for (i = 1 ; i <= 1005 ; i++)42 {43 if (a[i].num == 0)44 break ;45 printf("%d %d\n" , a[i].id , a[i].num) ;46 }47 48 49 return 0 ;50 }
View Code

3.节日

问题描述

  有一类节日的日期并不是固定的,而是以“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。

4.网络延时

省略..

5.

最小花费

问题描述

  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。

转载于:https://www.cnblogs.com/mengchunchen/p/4776580.html

你可能感兴趣的文章
Elasticsearch 2.3 java api
查看>>
golang写入csv
查看>>
基础2
查看>>
java基础篇---网络编程(UDP程序设计)
查看>>
Kafka Producer相关代码分析【转】
查看>>
LeetCode 121. Best Time to Buy and Sell Stock
查看>>
麻省理工学院公开课-第四讲:快速排序 及 随机化 算法
查看>>
pycharm 的包路径设置export PYTHONPATH=$PYTHONPATH
查看>>
SQL语句创建函数
查看>>
解决mysql无法显示中文/MySQL中文乱码问号等问题
查看>>
CentOS 7.2 配置mysql5.7
查看>>
python输出转义字符
查看>>
java基础43 IO流技术(输入字节流/缓冲输入字节流)
查看>>
计算一个整数二进制中1的个数
查看>>
netdom join 错误:指定的域不存在,或无法联系。
查看>>
Android中Dialog的使用
查看>>
Android Activity接收Service发送的广播
查看>>
[Leetcode] Spiral Matrix | 把一个2D matrix用螺旋方式打印
查看>>
加速和监控国际网络
查看>>
【Flex】读取本地XML,然后XML数据转成JSON数据
查看>>