Submission #5750471
Source Code Expand
N,A,B,C,D = map(int,input().split())
S = input()
def test(x,y):
# xからyへ行ける
substr = S[x:y-1]
return substr.find('##') == -1
bl = test(A,C) and test(B,D)
if C > D:
# 追い越す必要がある
# 道の存在は保証されているので、局所的に詰まないようにBを配置できればよい
can_swap = False
for b in range(B-1,D):
if S[b] == '#':
continue
if S[b-1] == '.' and S[b+1] == '.':
can_swap = True
break
bl = bl and can_swap
answer = 'Yes' if bl else 'No'
print(answer)
Submission Info
| Submission Time | |
|---|---|
| Task | A - Kenken Race |
| User | maspy |
| Language | Python (3.4.3) |
| Score | 400 |
| Code Size | 569 Byte |
| Status | AC |
| Exec Time | 32 ms |
| Memory | 3636 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 400 / 400 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example_00, example_01, example_02 |
| All | example_00, example_01, example_02, handmade_00, handmade_01, handmade_02, handmade_03, handmade_04, handmade_05, handmade_06, handmade_07, handmade_08, handmade_09, handmade_10, handmade_11 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| example_00 | AC | 17 ms | 3064 KiB |
| example_01 | AC | 17 ms | 3064 KiB |
| example_02 | AC | 17 ms | 3064 KiB |
| handmade_00 | AC | 18 ms | 3572 KiB |
| handmade_01 | AC | 18 ms | 3512 KiB |
| handmade_02 | AC | 17 ms | 3316 KiB |
| handmade_03 | AC | 18 ms | 3316 KiB |
| handmade_04 | AC | 31 ms | 3512 KiB |
| handmade_05 | AC | 18 ms | 3512 KiB |
| handmade_06 | AC | 18 ms | 3444 KiB |
| handmade_07 | AC | 32 ms | 3512 KiB |
| handmade_08 | AC | 31 ms | 3512 KiB |
| handmade_09 | AC | 32 ms | 3512 KiB |
| handmade_10 | AC | 31 ms | 3636 KiB |
| handmade_11 | AC | 29 ms | 3516 KiB |