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 AI分析

解题思路

主要思路:

  1. 状态表示:使用二维布尔数组表示网格状态,True表示该位置被积木覆盖

  2. 积木类型:生成所有可能的1×3(横向)和3×1(纵向)积木位置

  3. 放置规则检查

P4356.【深度优先搜索9】积木游戏

    1000ms Tried: 41 Accepted: 6 Difficulty: 7
    算法与标签>DFS

本题为2025年8月10日小米机考原题

小米机考的介绍点击这里

题目内容

小钟在一张长为nnn、宽为mmm的网格图上摆放积木。图上有一些格子是特殊格子,小钟有无限个尺寸为1×31×31×3或3×13×13×1的积木。每次小钟摆放积木时,需要满足以下条件:积木至少有一端与特殊格子重合,只能在网格图内摆放,不能越界,且当前要摆放的积木不能与已经摆放的积木发生重叠。小钟会一直按上述要求摆放积木,直到无法再摆放积木为止。

小爱在一旁看着小钟摆放积木,她很好奇网格图最终一共有多少种可能的局面。两种局面不同,当且仅当网格图中存在某个格子,一种局面中该格子被积木覆盖,另一种局面中没有被覆盖。请你计算网格图最终有多少可能的局面。注意,局面的不同与如何摆放无关,仅与格子是否被覆盖有关系!

1≤n,m≤81≤n,m≤81≤n,m≤8。保证特殊格子的数量不超过131313,数据随机生成。

输入描述

第一行有两个整数n(1≤n≤8)、m(1≤m≤8)n(1≤n≤8)、m(1≤m≤8)n(1≤n≤8)、m(1≤m≤8),分别表示网格图的长和宽.

接下来nnn行每行输入mmm个字符,若网格图第iii行第jjj列位置是特殊格子,则第iii行第jjj个字符为"*",否则为"."。

输出描述

输出一个整数,表示网格图最终可能的局面个数。

样例1

输入

4 4
....
...*
.*..
....

输出

2

说明

对于第一个样例,两种可能的游戏结束局面如下: . * . .

. * . *

. * . *

. . . *

. . . .

. * * *

. * * *

. . . .

样例2

输入

3 3
***
***
***

输出

1

说明

对于第二个样例,可以横着摆三行每行一个积木,也可以纵着摆三列每列一个积木,但是这两种方式所导致的最终的局面是相同的,因此可能的局面数是111。

登录后即可使用 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 0, 35ms
  3. Powered by Hydro v5.0.0-beta.18 Community
CLOSE


ScanQRCodePrompt

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

Forgot password or username?