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({});