Coursera C程序设计进阶 第九周 期末考试

1 . 含k个3的数

来源:POJ ( Coursera 声明:在 POJ 上完成的习题将不会计入 Coursera 的最后成绩。)
注意:总时间限制;1000ms 内存限制;65536kB

  描述

输入二个正整数m 和 k,其中1 < m < 100000,1 < k <5 ,判断m 能否被19整除,且恰好含有k个3,如果满足条件,则输出YES,否则,输出NO。
例如:

输入:
43833 3
满足条件,输出YES
如果输入
39331 3
尽管有3个3,但不能被19整除,也不满足条件,应输出NO


  输入

m 和 k 的值,空格间隔

  输出

满足条件时输出 YES,不满足时输出 NO

  样例输入

43833 3


  样例输出

YES


  解答


2 . 字符串中次数第2多的字母

来源:POJ ( Coursera 声明:在 POJ 上完成的习题将不会计入 Coursera 的最后成绩。)
注意:总时间限制;1000ms 内存限制;65536kB

  描述

输入一串长度不超过500个符号的字符串,输出在串中出现第2多的英语字母(大小写字母认为相同)和次数(如果串中有其它符号,则忽略不考虑)。如果有多个字母的次数都是第2多,则按串中字母出现的顺序输出第1个。
例如:

ab&dcAab&c9defgb



这里,a 和 b都出现3次,c和d都出现2次,e、f 和 g 各出现1次,其中的符号&和9均忽略不考虑。因此,出现第2多的应该是 c 和 d,但是 d 开始出现的位置在 c 的前面,因此,输出为:

D+d:2



(假定在字符串中,次数第2多的字母总存在)

  输入

一个字符串

  输出

大写字母+小写字母:个数

  样例输入

ab&dcAab&c9defgb


  样例输出

D+d:2


  解答


3 . 运算符判定

来源:POJ ( Coursera 声明:在 POJ 上完成的习题将不会计入 Coursera 的最后成绩。)
注意:总时间限制;1000ms 内存限制;65536kB

  描述

两个整数 a 和 b 运算后得到结果 c。表示为:a ? b = c,其中,?可能是加法 +,减法 -,乘法 *,
整除 / 或 取余 %。请根据输入的 a,b,c 的值,确定运算符。如果某种运算成立,则输出相应的运算符,如果任何运算都不成立,则输出 error.
例如:

输入:
3,4,5

输出:
error

若输入:
3,4,3

则输出:
%


  输入

a b和 c 的值在意行内输入,以逗号间隔

  输出

五个运算符之一或 error

  样例输入

6,7,13


  样例输出

+


  解答


4 . 寻找平面上的极大点

来源:POJ ( Coursera 声明:在 POJ 上完成的习题将不会计入 Coursera 的最后成绩。)
注意:总时间限制;1000ms 内存限制;65536kB

  描述

在一个平面上,如果有两个点(x,y),(a,b),如果说(x,y)支配了(a,b),这是指x>=a,y>=b;
用图形来看就是(a,b)坐落在以(x,y)为右上角的一个无限的区域内。
给定n个点的集合,一定存在若干个点,它们不会被集合中的任何一点所支配,这些点叫做极大值点。
编程找出所有的极大点,按照x坐标由小到大,输出极大点的坐标。
本题规定:n不超过100,并且不考虑点的坐标为负数的情况。

  输入

输入包括两行,第一行是正整数n,表示是点数,第二行包含n个点的坐标,坐标值都是整数,坐标范围从0到100,输入数据中不存在坐标相同的点。

  输出

按x轴坐标最小到大的顺序输出所有极大点。
输出格式为:(x1,y1),(x2,y2),...(xk,yk)
注意:输出的每个点之间有","分隔,最后一个点之后没有",",少输出和多输出都会被判错

  样例输入

5
1 2 2 2 3 1 2 3 1 4


  样例输出

(1,4),(2,3),(3,1)


  提示

9-4-1.png

  解答


5 . 走出迷宫

来源:POJ ( Coursera 声明:在 POJ 上完成的习题将不会计入 Coursera 的最后成绩。)
注意:总时间限制;1000ms 内存限制;65536kB

  描述

当你站在一个迷宫里的时候,往往会被错综复杂的道路弄得失去方向感,如果你能得到迷宫地图,事情就会变得非常简单。
假设你已经得到了一个n*m的迷宫的图纸,请你找出从起点到出口的最短路。

  输入

第一行是两个整数n和m(1 <= n,m <= 100),表示迷宫的行数和列数。
接下来n行,每行一个长为m的字符串,表示整个迷宫的布局。字符 ' . ' 表示空地, ' # ' 表示墙, ' S ' 表示起点, ' T ' 表示出口。

  输出

输出从起点到出口最少需要走的步数。(你不能起出迷宫外)

  样例输入

3 3
S#T
.#.
...


  样例输出

6


  解答


tag(s): C++
show comments · back · home
Edit with markdown