| Task: | Monikulmio |
| Sender: | Attack_Heli |
| Submission time: | 2025-10-29 20:10:58 +0200 |
| Language: | Python3 (CPython3) |
| Status: | READY |
| Result: | 100 |
| group | verdict | score |
|---|---|---|
| #1 | ACCEPTED | 100 |
| test | verdict | time | score | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.02 s | 10 | details |
| #2 | ACCEPTED | 0.02 s | 10 | details |
| #3 | ACCEPTED | 0.03 s | 10 | details |
| #4 | ACCEPTED | 0.02 s | 10 | details |
| #5 | ACCEPTED | 0.02 s | 10 | details |
| #6 | ACCEPTED | 0.02 s | 10 | details |
| #7 | ACCEPTED | 0.02 s | 10 | details |
| #8 | ACCEPTED | 0.02 s | 10 | details |
| #9 | ACCEPTED | 0.03 s | 10 | details |
| #10 | ACCEPTED | 0.07 s | 10 | details |
Code
info,*coords=[tuple(map(int,l.split())) for l in open(0)]
line=["."]*(info[1]*2)
grid=[line.copy() for _ in range(info[0]*2)]
for i in range(info[2]):
(oldx,oldy),(x,y)=coords[i-1],coords[i]
oldx,oldy,x,y=(oldx-1)*2,(oldy-1)*2,(x-1)*2,(y-1)*2
grid[x][y]="*"
if oldy==y:
j=1
while j<abs(oldx-x):
grid[min(x,oldx)+j][y]="|"
j+=1
elif oldx==x:
j=1
while j<abs(oldy-y):
grid[x][min(y,oldy)+j]="="
j+=1
elif (oldx>x) == (oldy>y):
j=1
while j<abs(oldy-y):
grid[min(x,oldx)+j][min(y,oldy)+j]="\\"
j+=1
elif oldx>x:
j=1
while j<abs(oldy-y):
grid[min(x,oldx)+j][max(y,oldy)-j]="/"
j+=1
else:
j=1
while j<abs(oldy-y):
grid[max(x,oldx)-j][min(y,oldy)+j]="/"
j+=1
count=i=0
while count==0:
if n:=grid[i].count("*"):
count+=n
i+=2
while count<info[2]:
j=0
while j<info[1]*2:
if grid[i][j]==".":
if j==0 or grid[i][j-2]==".":
j+=2
continue
elif grid[i][j-2]=="#":
grid[i][j]="#"
else:
n=x=0
while x<j:
n+=(grid[i-1][x] in "/|\\")
x+=1
grid[i][j]=".#"[n%2]
elif grid[i][j]=="*":
count+=1
if count==info[2]: break
j+=2
i+=2
print(*["".join(l[::2]) for l in grid[::2]],sep="\n")
Test details
Test 1 (public)
Verdict: ACCEPTED
| input |
|---|
| 8 9 5 5 2 2 5 5 8 7 8 ... |
| correct output |
|---|
| ......... ....*.... .../#\... ../###\.. .*#####*. ... |
| user output |
|---|
| ......... ....*.... .../#\... ../###\.. .*#####*. ... |
Test 2 (public)
Verdict: ACCEPTED
| input |
|---|
| 20 40 4 5 10 5 30 15 30 15 10 |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 3 (public)
Verdict: ACCEPTED
| input |
|---|
| 20 40 29 8 7 13 2 14 2 9 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 4 (public)
Verdict: ACCEPTED
| input |
|---|
| 20 40 14 5 12 5 25 8 28 13 28 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 5 (public)
Verdict: ACCEPTED
| input |
|---|
| 20 40 12 3 20 7 16 7 9 11 13 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 6 (public)
Verdict: ACCEPTED
| input |
|---|
| 9 35 33 2 3 2 8 4 8 4 5 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 7 (public)
Verdict: ACCEPTED
| input |
|---|
| 30 100 69 6 10 6 14 7 14 7 18 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 8 (public)
Verdict: ACCEPTED
| input |
|---|
| 40 60 192 11 3 11 5 10 6 11 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Test 9 (public)
Verdict: ACCEPTED
| input |
|---|
| 50 100 142 1 1 1 7 1 11 1 14 ... |
| correct output |
|---|
| *=====*===*==*................... |
| user output |
|---|
| *=====*===*==*................... |
Test 10 (public)
Verdict: ACCEPTED
| input |
|---|
| 100 100 1000 10 1 4 7 1 4 1 9 ... |
| correct output |
|---|
| ...*====*........................ |
| user output |
|---|
| ...*====*........................ |
