CF2117A.False Alarm
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
Yousef 正在一个走廊的入口,这个走廊上排列有 n 个门,顺序编号为 1,2,…,n。他需要按顺序依次通过从 1 到 n 的所有门来抵达出口(即通过第 n 扇门)。
每扇门初始可能开着或者关着。如果一扇门开着,那么 Yousef 可以花费 1 秒通过这扇门。如果一扇门关着,Yousef 无法通过这扇门。
不过,Yousef 可以在任意时刻使用一个特别的按钮,但最多只能使用一次。这个按钮可以令所有关闭的门开启,持续 x 秒。
你的任务是判断 Yousef 能否在只使用一次按钮的限制下通过所有门。
输入格式
输入数据包含多个测试用例。输入数据的第一行包含一个整数 t(1≤t≤1000),表示测试用例的个数。
对于每个测试用例:
- 第一行包含两个整数 n 和 x(1≤n,x≤10),分别表示门的数量和按钮效果持续的秒数。
- 第二行包含 n 个整数 a1,a2,…,an(ai∈{0,1}),表示每扇门初始的状态。开启的门用 0 来表示,关闭的门用 1 来表示。
- 输入数据保证存在至少一个关闭的门。
输出格式
对于每个测试用例,如果 Yousef 可以抵达出口,输出 YES,否则输出 NO。
你可以以任意大小写输出答案。例如,yEs,yes,Yes,YES 都会被视为肯定回答。
输入输出样例
输入#1
7 4 2 0 1 1 0 6 3 1 0 1 1 0 0 8 8 1 1 1 0 0 1 1 1 1 2 1 5 1 1 0 1 0 1 7 4 0 0 0 1 1 0 1 10 3 0 1 0 0 1 0 0 1 0 0
输出#1
YES NO YES YES NO YES NO
说明/提示
对于第一个测试用例,最佳的策略如下:
- 在第 0 秒,第 1 扇门是开着的,所以 Yousef 可以通过这扇门。
- 在第 1 秒,第 2 扇门是关着的,所以 Yousef 使用按钮并通过这扇门。
- 在第 2 秒,按钮的效果仍然持续,所以 Yousef 可以通过第 3 扇门。
- 在第 3 秒,按钮的效果消失,但第 4 扇门本来就是开着的,所以 Yousef 可以通过这扇门。
对于第二个测试用例,Yousef 的按钮只持续 3 秒,但他需要一个持续至少 4 秒的按钮才能到达出口。因此,答案是 NO。
对于第三个测试用例,在 Yousef 开始移动之前,他就可以使用按钮。在 Yousef 抵达出口之前,所有的门均会保持开启。
输入解题思路,AI测评打分。不知道怎么写?