1. Job Roadmap
  2. Home
  3. Problem Set
  4. codenotelist
  5. Forum
  6. course
  7. Shore Share Sessions
  8. Record
  1. Login
  2. Sign Up
  3. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
    ZhContent TextSol video solution AI分析

【深度优先搜索8】俄罗斯方块

题面解释:

在一个n×nn \times nn×n的网格游戏中,可以放置由4个小方块组成的大方块(类似俄罗斯方块)。网格中有kkk个位置不能放置方块,这些位置通过坐标给出。我们需要计算在不重叠、不超出边界的情况下,最多可以放置多少个大方块。输入的第一行包含nnn和kkk,接下来有kkk行给出不能放置方块的坐标对(y,x)(y, x)(y,x)。输出结果为最多能放下的大方块数量。

思路:DFS暴力回溯

本题非常类似于:LeetCode 1240. 铺瓷砖。

P14342.【深度优先搜索8】俄罗斯方块

    2000ms Tried: 439 Accepted: 117 Difficulty: 5
    算法与标签>DFS

本题为2024年9月25日华为机考原题

华为机考的介绍点击这里

题目内容

在俄罗斯方块游戏中,只有下面111种大方块,由四个正方形小方块组成。现在,请计算在给定网格大小的情况下,最多可以放置多少个大方块。 具体规则如下:

111、网格为正方形网络。

222、方块不能重叠。

333、方块不能超出网格的边界。

444、网格中部分位置不能放置方块。

p1

输入描述

n kn\ kn k

y1 x1y_1~x_1y1​ x1​

y2 x2y_2~x_2y2​ x2​

表示边长为nnn的正方形网格,有kkk个位置不能放置方块,接下来kkk行坐标对,yyy表示自上向下的第几行,xxx表示自左向右的第几列(坐标从000开始编号,左上角为0 00\ 00 0)。

nnn的范围: [1,81,81,8]

kkk的范围:[0,640,640,64]

x、yx、yx、y的范围: [0,n0,n0,n)

输出描述

最多能放下多少大方块。

样例1

输入

2 0

输出

1

说明

只能放下111个

样例2

输入

4 3
1 0
1 3
2 1		

输出

2

说明

最多放222个大方块,如下图

p2

样例3

输入

3 3
0 1
1 2
2 0

输出

0

说明

没有位置可以放置方块。

p3

开通会员即可查看完整视频题解: 1.题目讲解 2.思路分析 3.逐行代码手写

登录后即可使用 AI 分析。

模式
倒计时时长
:

最长 10 小时 59 分;应用后按此时长重新开始。

提示:点击提交记录在左侧题面区域查看详情
题库
AI分析设置
留空使用官方API Key,每天有次数限制(自定义API Key仅限会员和管理员使用,不限次数)
会员和管理员可切换模型;切到 Kimi/智谱/通义/豆包时需填写对应供应商 API Key
升级会员,可将运行与提交冷却时间缩短至 1 秒起

Status

  • Judging Queue
  • Service Status

Development

  • Open Source

Support

  • Help
  • Contact Us

About

  • About
  • Privacy
  • Terms of Service
  • Copyright Complaint
  1. Language
    1. English
    2. 한국어
    3. 简体中文
    4. 正體中文
  2. Legacy mode
  3. Theme
    1. Light
    2. Dark
  1. 京ICP备2025123107号-1
  2. Worker 3, 41ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

请使用微信扫描下方二维码完成注册

Forgot password or username?