AT_arc040_d.[ARC040D] カクカク塗り
NOI/NOI+/CTSC
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
高桥君非常热爱涂地板。地板被分成了一个 N×N 的网格,其中有些格子上可能存在障碍物(包括可能一个障碍物都没有)。他计划按照以下规则来涂地板:
- 重复以下操作:「将当前所在的格子涂色,然后移动到上下左右相邻的格子之一」。
- 每次移动后需要顺时针旋转 90 度。具体来说,刚刚向上或向下移动完后,接下来的移动方向必须是水平的;刚刚向左或向右移动完后,接下来的移动方向必须是垂直的。
- 不能移动到已经涂过色的格子。
- 不能移出网格边界或移动到障碍物所在的格子。
高桥君已经选择好了起点格子。请判断他是否可以通过合理的路径,将所有没有障碍物的格子全部涂色。注意,初始的移动方向和最终停下的格子没有特别要求。在涂完最后一个格子之后,也不需要再进行移动。
输入格式
标准输入给出如下数据:
- 第一行包含一个整数 N (2≤N≤400),表示网格的大小。
- 接下来 N 行中每行包含一个长度为 N 的字符串 Si,描述网格的状态。
.表示该格子是可涂色的地板。#表示该格子有障碍物,不可涂色。s表示起始格子,高桥君将从此处出发。
保证输入中恰有一个 s,且至少有一个 .。
输出格式
如果高桥君能将所有没有障碍物的格子全部涂色,输出 POSSIBLE;否则,输出 IMPOSSIBLE。输出结果需要另起一行。
输入输出样例
输入#1
5 #.... ..s.. ..#.. #.... ##..#
输出#1
POSSIBLE
输入#2
5 s.### ..### ###.. #.... #..##
输出#2
IMPOSSIBLE
输入#3
3 ..# .s. #..
输出#3
IMPOSSIBLE
说明/提示
部分分数
题目设有部分分数:
- 对于满足 N≤50 的数据集,正确解答可获得 40 分。
- 对于所有测试用例,若能正确解答,可额外获得 60 分。
样例说明 1
通过给定的移动规则,可以如图所示地依次涂色。 
本翻译由 AI 自动生成
输入解题思路,AI测评打分。不知道怎么写?