- 博客(10)
- 收藏
- 关注
原创 问题 A: 小鼠迷宫问题
小鼠a与小鼠b身处一个m×n的迷宫中,如图所示。每一个方格表示迷宫中的一个房间。这m×n个房间中有一些房间是封闭的,不允许任何人进入。在迷宫中任何位置均可沿上,下,左,右4个方向进入未封闭的房间。小鼠a位于迷宫的pq方格中,它必须找出一条通向小鼠b所在的rs方格的路。请帮助小鼠a找出所有通向小鼠b的最短道路。请编程对于给定的小鼠的迷宫,计算小鼠a通向小鼠b的所有最短道路。输入本题有多组输入数据,你必须处理到 EOF 为止。每组数据的第一行有3个正整数nmk。
2025-05-21 20:43:56
669
原创 九周作业做作业
如图为一个地堡的地形图。编写一个程序,计算城堡一共有多少个房间,最大的房间有多大。城堡被分割成m×nn≤50n≤50个方块,每个方块可以有0∼4面墙。# 代表墙壁,| 和 - 都表示没有墙壁。不被墙分割的方块连在一起组成一个房间。城堡外围一圈都是墙。第一行是两个整数R和C,分别是南北向、东西向的方块数。接下来是一个R行C列的整数矩阵,每个整数p描述一个方块(0≤p≤50如果用1对应西墙,2对应北墙,4对应东墙,8。
2025-05-21 20:43:08
898
1
原创 YTU问题 G: 共享单车
共享单车走进烟台,小明决定尝试。小明启动共享单车 App,轻松地找到附近的单车。那么问题来了,到最近的那辆单车,小明大约要走多少米呢?现在简化问题。将地图设定成一个由 100 \times 100米的像素块组成的二维平面区域。如果一个方块内有单车,则像素块显示为字符 x;如果此方块内是可以通行的路,则显示为 .;再如果方块是建筑物,则显示为 *,建筑物不能通行。小明在地图上的位置显示为 o,可以朝,“上”、“下”、“左”,“右”,“左上”,“左下”,“右上”,“右下”八个方向走。
2025-04-25 23:34:05
500
原创 问题 B: 交换瓶子ytuoj
比如有 5 个瓶子:2 1 3 5 4要求每次拿起 2个瓶子,交换它们的位置。难处理的地方在于,怎么找到应该的数并交换,一种方法是两个for循环,第一层找不适合的数,第二层找应该的数,找到后交换,计数器加一。遇到不对的就把该位置的数和应该的数交换,比如说例子中,3的位置不对,应该的数字是1,把1和3交换,交换后得到1 3 2 5 4。第一行有一个正整数N (N< 10000), 表示瓶子的数目第二行有N个正整数,用空格分开,表示瓶子目前的排列情况。对于这么简单的情况,显然,至少需要交换。
2025-04-24 13:11:33
341
原创 问题 E: 统计数字问题ytuoj
在个位上,8出现在 8,18,28,38,48,58,68,78,88,98,108,118,128,138,148,158,168,178,188,198,208,218,228,238,一共24次,其他小于8的数同上也是24次,而大于8的数只出现23次。最直观的方法,从一到n罗列,拆数,0-9计数器叠加,不过n<=10^7,时间可能超限,我觉得用数学计算也能解决,我们以238为例,依次去看每个数在每个位置上出现的次数。对应位次+(低位+1):个位上,238高位为23,低位为0,次数为23。
2025-04-24 13:09:31
941
原创 问题 D: 排列的字典序问题 YTUOJ
,而上面代码中查找下一个排列的函数 nextPermutation()只有O(n),这个函数也是标准库的next_permutation算法思想,下面具体解释代码。1.从右找,找到第一个不是升序的数,以2 6 4 5 8 1 7 3为例,找到为 1 ,4. 反转i+1到末尾的部分 得到,2 6 4 5 8 3 1 7,交换后,i+1之后的部分是降序的,反转后变成升序,确保这是最小的增大。输出数据的第1行是字典序值,第2行是按字典序排列的下一个排列。当i=-1时,说明整个排列是降序的,已经是最大排列。
2025-04-24 13:08:44
365
原创 问题 C: 二分查找
很简单的二分,二分要注意的问题看这里https://github.com/yvette-moon/Basic-algorithm-learning/blob/main/%E4%BA%8C%E5%88%86%E6%B3%95%E4%B8%80%E5%AE%9A%E4%B8%8D%E8%A6%81%E5%86%8D%E9%94%99%E5%95%A6.md。若找到,输出你寻找的次数。否则,输出 I can’t find it.行从小到大输入苹果的甜度。行,输入需要找的苹果的甜度.第一行输入苹果的个数。
2025-04-24 13:06:59
304
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅