网站首页 网站地图
网站首页 > 娱乐人生 > 编程题目找老鼠怎么写

编程题目找老鼠怎么写

时间:2026-03-18 01:21:43

编程题目:编程猫抓老鼠

题目描述

编写一个程序,模拟一只猫抓老鼠的过程。猫和老鼠在一个二维平面上,猫的目标是抓住老鼠。每次猫可以向上、下、左、右移动一格,老鼠也可以向上、下、左、右移动一格。当猫到达老鼠的位置时,猫成功抓住了老鼠。如果猫无法在某一回合内到达老鼠的位置,老鼠逃跑。

输入

第一行输入一个整数 `n`,表示老鼠的数量。

接下来的 `n` 行,每行输入两个整数 `x` 和 `y`,分别表示第 `i` 只老鼠的横坐标和纵坐标。

输出

输出猫最后抓住的老鼠的编号。

示例

输入

```

3

1 1

2 2

3 3

```

输出

```

1

```

解释

1. 第一轮,猫从 (0,0) 出发,老鼠1从 (1,1) 出发,猫抓住老鼠1。

2. 第二轮,猫从 (0,0) 出发,老鼠2从 (2,2) 出发,猫抓住老鼠2。

3. 第三轮,猫从 (0,0) 出发,老鼠3从 (3,3) 出发,猫抓住老鼠3。

代码示例(Python):

```python

def find_mouse(mice):

cat_x, cat_y = 0, 0

for i, (mouse_x, mouse_y) in enumerate(mice):

if cat_x == mouse_x and cat_y == mouse_y:

return i + 1

if cat_x < mouse_x:

cat_x += 1

elif cat_x > mouse_x:

cat_x -= 1

if cat_y < mouse_y:

cat_y += 1

elif cat_y > mouse_y:

cat_y -= 1

return -1 如果猫无法抓住任何老鼠,返回-1(根据题目描述,这种情况不会发生)

示例输入

mice = [

(1, 1),

(2, 2),

(3, 3)

]

输出结果

print(find_mouse(mice)) 输出: 1

```

建议

1. 可以使用面向对象的编程方法,定义猫和老鼠的类,分别实现它们的移动和追逐行为。

2. 可以使用广度优先搜索(BFS)或深度优先搜索(DFS)等算法来实现猫抓老鼠的过程。

3. 确保代码能够正确处理边界条件,例如猫和老鼠在同一个位置时。