admin 管理员组

文章数量: 1086019


2024年5月9日发(作者:asp源码都是0)

C语言五级

1.数字变换

给定一个包含5个数字(0-9)的字符串,例如 “02943”,请将“12345”

变换到它。 你可以采取3种操作进行变换

1. 交换相邻的两个数字

2. 将一个数字加1。如果加1后大于9,则变为0

3. 将一个数字加倍。如果加倍后大于9,则将其变为加倍后的结果除

以10的余数。

最多只能用第2种操作3次,第3种操作2次 求最少经过多少次操

作可以完成变换。

时间限制:1000

内存限制:65536

输入

有最多 100,000 组数据 每组数据就是包含5个数字的字符串

输出

对每组数据,输出将"12345"变换到给定字符串所需要的最少操作步

数。如果无法变换成功,输出-1

样例输入

12435

99999

12374

样例输出

1

-1

3

提示

由于测试数据太多,如果对每组数据都从头进行搜索,就会超时。 建

议先做预处理,即以“12345”作为初始状态做一遍彻底的广搜,找

出“12345”经合法变换能够到达的所有字符串,并记录到达这些字

符串各需要多少步操作。 然后对读入的每组数据,在上述预处理记

录的结果中进行查询即可。

2.寻找边缘

给定一张 R*C 的地图,由 "X" 和 "O" 组成。

现在需要重新处理这张地图,找到地图边缘的那些 "O"。你需要将这

些地图边缘上的 "O" 保留下来,然后将其他的 "O" 全部替换为 "X"。

地图边缘的 "O" 指的是那些处于第一行/列或最后一行/列上的 "O",

以及从这些 "O" 的相邻位置(上下左右)延伸出去的 "O"。

时间限制:1000

内存限制:65536

输入

第一行是一个正整数 T,表示一共有 T 组数据。 对于每组数据,其

第一行是两个正整数 R 和 C,表示地图的大小,用一个空格分开。 接

下来的 R 行,每行包含了 C 个字符,分别是 "X" 或 "O"。 其中,

0 < T <= 10,0 < R, C <= 500。

输出

对于每组数据,输出 R 行,每行包含了 C 个字符,分别是 "X" 或

"O"。 每组数据之间需要额外输出一个空行。

样例输入

2

2 3

OXX

XXO

5 5

XXXOX

XXXOX

XOOXX

XXOXX

XOXXX

样例输出

OXX

XXO

XXXOX

XXXOX

XXXXX

XXXXX

XOXXX

3.42点

42是:

·组合数学上的第5个卡特兰数

·字符'*'的ASCII码

·钼的原子序数

·6与9的乘积结果的13进制表示

·生命、宇宙以及任何事情的终极答案

·以及……表达式(1+5)/2*(6-4)*7的值

因此,小机器人Marvin发明了这个叫42点的小游戏。在这个游戏中,

玩家会获得n个数。玩家需要使用'+'、'-'、'*'、'/'、'('、')'以及这n个

数构成一个合法的中缀表达式,并使得该表达式的值为42。n个数之

间的顺序可以改变。表达式运算过程中只能出现整数。

由于过于抑郁,Marvin无力完成这个游戏,于是来找你帮忙。你的任

务是对于给定的n个数,判断他们是否能根据上述游戏规则算出42。

时间限制:1000

内存限制:65536

输入

第一行为一个数n,1<=n<=6。 第二行为n个数,每个数均为[1,13]

范围内的整数。

输出

输出一行,若可以算出42则输出“YES”,否则输出“NO”(注意大

小写)。

样例输入


本文标签: 需要 数据 变换 地图 个数