青少年编程知识记录 codecoming

2021年青岛市程序设计竞赛试题(初中组)决赛

A.趣味三角(triangle.cpp) 

【题目描述】 

今天,新高一的OIer们第一次进入了机房。z老师想让他们喜欢上OI,于是给了他们每个人一个三角形。 这时候,小q秃发奇想,拿着手中的三角形,给大家出了一道题,请你帮助他们给小q一个正确的答案。 小q给了你两个整数 ,请输出杨辉三角前x行的所有数的和模a的值。 如果你不知道杨辉三角是什么,请看样例解释。 

【输入格式】

 每个测试点有多组测试数据。 每个测试点第一行一个正整数n表示数据组数。 接下来n行每行两个正整数a,x 表示一次询问。 

【输出格式】 

共T行,每行一个正整数,表示答案。 

【样例输入】

3  5 6  7 2  2 998244353



【样例输出】

3  3  1



【样例解释】

 杨辉三角如下: 

第一行: 1  第二行: 1 1  第三行: 1 2 1  第四行: 1 3 3 1  第五行: 1 4 6 4 1  第六行:  1 5 10 10 5

这个三角的生成方式如下: 1. 第 行( 是正整数)有 个数。 2. 记第 行从左到右数第 个数为 ( 都是正整数),则

可见前6 行的和为63 ,对5 取模后结果为3 。 前2 行的和为3 ,对 7取模后结果为3 。

【说明提示】

对于10% 的数据,满足 n<=5; 

对于20% 的数据,满足T=1,n<=50 ; 

对于40% 的数据,满足T<=10,n<=100; 

对于60% 的数据,满足n<=106 ; 

对于80% 的数据,满足N<=1018 ; 

对于100%的数据,满足 T<103,m<108,n<101000 保证 m为质数



B.跳格子(grid.cpp) 

【题目描述】

z老师不在,小q打开了u2!#u_f9f**30&8.io。——一个跳方格的小游戏。 

小q坐到了靠里的一排,认为不会被发现,但他身后是反光的玻璃窗。 这是一个致命的失误。 

现在z老师对这个游戏产生了兴趣,他准备尝试一下。 z老师有一个 n*m的网格,每个格子上都写着一个数字。为方便描述,令左上角的网格为(1,1) ,右 下角的网格为 (n,m)。 z老师可以进入最下方第 n行的任意一个网格,并按照以下规则进行游戏:

 设z老师 第一次进入第 i行的位置为(i,ri) : 如果z老师在 (i,ri),则他只能向左或向上跳。

否则他可以向左,向右或向上跳。 

z老师不能跳出网格,除非他在第 1行,这代表结束整场游戏。 定义一局游戏的得分为所有z老师经过的格子上的数字之和。z老师想求出得分的最小值。 

【输入格式】

第一行两个整数n,m ,分别表示网格的行数和列数。 

接下来n 行,每行 m个整数ai,j ,表示 (i,j)上的数。 

【输出格式】

一行一个整数,表示最小值。 

【样例输入】

5 4  -21589 7315 -8753 28191  21541 1236 2038 11098  4408 8833 3280 -28896  19889 21948 -1769 25387  22241 888 -6112 28106

【样例输出】

-25590

【说明提示】

对于5%的数据,ai,j<=0

对于另外10%的数据,n,m<=5

对于另外15%的数据,n=2

对于另外20%的数据,n,m<=90

对于另外20%的数据,n,m<=400

对于全部数据,1<=n,m<=1000,  -106<ai,j<106


C.亮度调节(inverse.cpp) 

【题目描述】 

z老师很烦恼:偌大的机房空无一人,一排电脑屏幕却还亮着。 z老师更烦恼的是:这排电脑屏幕的亮度并不统一,有些很亮,有些很暗。 “这不好……至少要把亮度调整一下吧!” 

老师面前有一排 n台电脑,每一台电脑都有一个用整数表示的亮度值 ai(可能为负数)。 在z老师走进机房时,他并不烦恼。 对于任意两台电脑,如果左边的亮度值大于右边的 (i<j,ai>aj),他就会获得1 的烦恼值。 z老师可以进行的操作是,把一台电脑的亮度值修改为它的相反数。 他可以修改任意多次,以使得自己最终的烦恼值最小,而你需要求出这个最小值。 

【输入格式】

 第1 行,一个整数n 表示有n 台电脑。 

第 2行共 n个整数ai ,表示从左往右第i台电脑的初始亮度值。 

【输出格式】

 一行一个整数,表示最小的烦恼值。 

【样例输入】

18  -1 -7 0 -2 -1 -7 5 1 1 6 -9 2 -7 9 0 -5 0 5

 【样例输出】

36

 【说明/提示】

 对于30% 的数据,n<=18 ; 

对于另外 5%的数据, |ai|=1; 

对于另外 5%的数据, |ai|<=1;

 对于 70%的数据,n<=5*103 (包含前面两档部分分);

 对于100% 的数据, 1<=n<106, 0<=|ai|<=105

(adsbygoogle = window.adsbygoogle || []).push({});

作者:亿万年的星光 分类:题解目录 浏览: