The Troublesome Frog

GitHub跳转原题关系图返回列表

本地题面缓存已迁移,解析内容待补充。

OJ: noi_openjudge

题目 ID: ch0407-56

难度:未知

标签:python

日期: 2026-07-30 23:01

题意

完整题面见同目录的 problem.md

思路

代码

Python代码

python
row_count, column_count = map(int, input().split())
point_count = int(input())
points = [tuple(map(int, input().split())) for _ in range(point_count)]
point_set = set(points)
answer = 0

for first_row, first_column in points:
    for second_row, second_column in points:
        dr = second_row - first_row
        dc = second_column - first_column
        if dr == 0 and dc == 0:
            continue
        # 只有前一跳已经在稻田外,first 才可能是这条路径的第一株。
        if 1 <= first_row - dr <= row_count and 1 <= first_column - dc <= column_count:
            continue
        row, column = second_row, second_column
        count = 2
        while 1 <= row + dr <= row_count and 1 <= column + dc <= column_count:
            row += dr
            column += dc
            if (row, column) not in point_set:
                break
            count += 1
        if count >= 3:
            answer = max(answer, count)

print(answer)

复杂度

总结