GESP考试界面参考
【题解】解密
【题目描述】
给定一个正整数k,有k次询问,每次给定三个正整数ni,ei,di,求两个正整数pi,qi。
使ni=pi * qi, ei * di =(pi -1) *(qi-1) + 1
【输入描述】
第一行一个正整数k,表示有k次询问。
接下来k行,第i行三个正整数ni,di,ei。
【输出描述】
输出k行,每行两个正整数pi,qi表示答案。
为使输出统一,你应保证pi<=qi。
如果无解,请输出NO。
【样例输入】
10 770 77 5 633 1 211 545 1 499 683 3 227 858 3 257 723 37 13 572 26 11 867 17 17 829 3 263 528 4 109
【样例输出】
2 385 NO NO NO 11 78 3 241 2 286 NO NO 6 88
【数据范围】
m=n-e*d +2
保证对于100的数据,1<=k<=10^5,对于任意的1<=i<=k,1<=ni<=10^18,
1<=ei*di<=10^18, 1<=m<=10^9
【算法】走迷宫
【题目描述】
一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。
给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜着走。
【输入描述】
第一行是两个整数,R和C,代表迷宫的长和宽。( 1<= R,C <= 40)
接下来是R行,每行C个字符,代表整个迷宫。
空地格子用‘.’表示,有障碍物的格子用‘#’表示。
迷宫左上角和右下角都是‘.’。
【输出描述】
输出从左上角走到右下角至少要经过多少步(即至少要经过多少个空地格子)。计算步数要包括起点和终点。
【样例输入】
5 5 ..### #.... #.#.# #.#.# #.#..
【样例输出】
9
【算法】最短路径
【题目描述】
下图表示从城市A到城市H的交通图。从图中可以看出,从城市A到城市H要经过若干个城市。现在找出一条经过城市最少的一条路线。
【输入描述】
第一行一个整数n,表示几个城市。
接下来2~n+1行,表示两个城市之间的关系(能否直达)
【输出描述】
倒序输出城市最短线路中间用”-“隔开
【样例输入】
8 1 0 0 0 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 0 1 1 1 0 0 0 0 1 1 1 1 1 0 1 1 1 0 0 1 1 0 1 1 1 1 0 0 0 1
【样例输出】
H-F-A
【算法】最少步数
【题目描述】
在各种棋中,棋子的走法总是一定的,如中国象棋中马走“日”。有一位小学生就想如果马能有两种走法将增加其趣味性,因此,他规定马既能按“日”走,也能如象一样走“田”字。他的同桌平时喜欢下围棋,知道这件事后觉得很有趣,就想试一试,在一个(100×100)的围棋盘上任选两点A、B,A点放上黑子,B点放上白子,代表两匹马。棋子可以按“日”字走,也可以按“田”字走,俩人一个走黑马,一个走白马。谁用最少的步数走到左上角坐标为(1,1)的点时,谁获胜。现在他请你帮忙,给你A、B两点的坐标,想知道两个位置到(1,1)点可能的最少步数。
【输入描述】
A、B两点的坐标。
【输出描述】
最少步数
【样例输入】
12 16 18 10
【样例输出】
8 9
【NOIP2000】计算器的改良
【题目描述】
NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能。实验室将这个任务交给了一个刚进入的新手 ZL 先生。
为了很好的完成这个任务,ZL 先生首先研究了一些一元一次方程的实例:
4+3x=8 6a-5+1=2-2a -5+12y=0
ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数、小写字母及+、-、=这三个数字符号(当然,符号“-”既可以作减号,也可以做负号)。方程中并没有括号,也没有除号,方程中的字母表示未知数。
你可假设对键入的方程的正确性的判断是由另一个程序员在做,或者说可认为键入的一元一次方程均为合法的,且有唯一实数解。
【输入描述】
一个一元一次方程。
【输出描述】
解方程的结果(精确到小数点后三位)。
【样例输入】
6a-5+1=2-2a
【样例输出】
a=0.750
CSPJ2022 乘方
【循环】日记第几天
【题目描述】
小明每天都坚持写日记,突然有一天小明在想,我今年写了多少篇日记了?一篇一篇的数好麻烦,没办法小明只能把这个艰难的问题交给聪明的你来解决。
【输入描述】
输入三个整数y,m,d分别表示年月日,数据均在int范围内。
【输出描述】
输出一个整数,表示这是今年的第几天。
【样例输入】
2018 1 1
【样例输出】
1
【题解】完全背包问题
【题目描述】
设有n种物品,每种物品有一个重量及一个价值。但每种物品的数量是无限的,同时有一个背包,最大载重量为M,今从n种物品中选取若干件(同一种物品可以多次选取),使其重量的和小于等于M,而价值的和为最大。
【输入描述】
第一行:两个整数,MM(背包容量,M≤200)和NN(物品数量,N≤30N≤30);
第2…N+1行:每行二个整数Wi,Ci,表示每个物品的重量和价值。
【输出描述】
仅一行,一个数,表示最大总价值。
【样例输入】
10 4 2 1 3 3 4 5 7 9
【样例输出】
12