| Task: | Monikulmio |
| Sender: | lukarantalainen |
| Submission time: | 2025-11-04 18:52:26 +0200 |
| Language: | Python3 (CPython3) |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| test | verdict | time | score | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.02 s | 0 | details |
| #2 | WRONG ANSWER | 0.02 s | 0 | details |
| #3 | WRONG ANSWER | 0.02 s | 0 | details |
| #4 | WRONG ANSWER | 0.02 s | 0 | details |
| #5 | WRONG ANSWER | 0.02 s | 0 | details |
| #6 | WRONG ANSWER | 0.02 s | 0 | details |
| #7 | WRONG ANSWER | 0.04 s | 0 | details |
| #8 | WRONG ANSWER | 0.04 s | 0 | details |
| #9 | WRONG ANSWER | 0.10 s | 0 | details |
| #10 | WRONG ANSWER | 0.69 s | 0 | details |
Code
s = input()
inputlist = [int(x) for x in s.split()]
n = inputlist[0]
m = inputlist[1]
k = inputlist[2]
for i in range(int(k)):
s = input()
for item in s.split():
inputlist.append(int(item))
print(inputlist)
xlist = [x for index, x in enumerate(inputlist) if index>2 and index%2!=0]
ylist = [y for index, y in enumerate(inputlist) if index>2 and index%2==0]
coordlist = [(x, y) for x, y in zip(xlist, ylist)]
def map_borders():
rowlist = []
collist = []
backslash = []
slash = []
prevcoord = coordlist[0]
for i in range(1, len(coordlist)+1):
if i >= len(coordlist):
currentcoord = coordlist[0]
prevcoord = coordlist[-1]
else:
currentcoord = coordlist[i]
if currentcoord[0] == prevcoord[0]:
if prevcoord[1] < currentcoord[1]:
for x in range(prevcoord[1]+1, currentcoord[1]):
currentcoords = (currentcoord[0], x)
rowlist.append(currentcoords)
else:
for x in range(currentcoord[1], prevcoord[1]):
currentcoords = (currentcoord[0], x)
rowlist.append(currentcoords)
elif currentcoord[1] == prevcoord[1]:
if prevcoord[0] < currentcoord[0]:
for y in range(prevcoord[0]+1 , currentcoord[0]):
currentcoords = (y, currentcoord[1])
collist.append(currentcoords)
else:
for y in range(currentcoord[0], prevcoord[0]):
currentcoords = (y, currentcoord[1])
collist.append(currentcoords)
elif prevcoord[1] < currentcoord[1]: #to the right
distance = abs(prevcoord[0]-currentcoord[0])
if prevcoord[0] < currentcoord[0]: #down right \
for i in range(1, distance):
currentcoords = (prevcoord[0]+i, prevcoord[1]+i)
backslash.append(currentcoords)
elif prevcoord[0] > currentcoord[0]: #up right /
for i in range(1, distance):
currentcoords = (prevcoord[0]-i, prevcoord[1]+i)
slash.append(currentcoords)
elif prevcoord[1] > currentcoord[1]: #to the left
distance = abs(prevcoord[0]-currentcoord[0])
if prevcoord[0] < currentcoord[0]: #down left /
for i in range(1, distance):
currentcoords = (prevcoord[0]+i, prevcoord[1]-i)
slash.append(currentcoords)
elif prevcoord[0] > currentcoord[0]: #up left \
for i in range(1, distance):
currentcoords = (prevcoord[0]-i, prevcoord[1]-i)
backslash.append(currentcoords)
prevcoord = currentcoord
return [rowlist, collist, backslash, slash]
def draw_rows():
cont = map_borders()
rowlist = cont[0]
collist = cont[1]
backslash = cont[2]
slash = cont[3]
for row in range(1, n+1):
currentrow = ["." for x in range(m)]
border = False
for col in range(1, m+1):
if (row, col) in coordlist:
currentrow[col-1] = "*"
elif (row, col) in rowlist:
currentrow[col-1] = "="
elif (row, col) in collist:
currentrow[col-1] = "|"
elif (row, col) in slash:
currentrow[col-1] = "/"
elif (row, col) in backslash:
currentrow[col-1] = '\\'
if border == False:
if currentrow[col-1] == "*" or currentrow[col-1] == "=" or currentrow[col-1] == "|" or currentrow[col-1] == "/" or currentrow[col-1] == "\\":
if ((row-1, col) in collist or (row-1, col-1) in collist or (row-1, col+1) in collist or (row-1, col) in coordlist
or (row-1, col) in slash or (row-1, col-1) in slash or (row-1, col+1) in slash or (row-1, col-1) in coordlist
or (row-1, col-1) in backslash or (row-1, col) in backslash or (row-1, col+1) in backslash or (row-1, col+1) in coordlist):
border = True
elif border == True:
if currentrow[col-1] == ".":
currentrow[col-1] = "#"
elif currentrow[col-1] == "*" or currentrow[col-1] == "|" or currentrow[col-1] == "/" or currentrow[col-1] == "\\":
border = False
print("".join(currentrow))
draw_rows()Test details
Test 1 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 8 9 5 5 2 2 5 5 8 7 8 ... |
| correct output |
|---|
| ......... ....*.... .../#\... ../###\.. .*#####*. ... |
| user output |
|---|
| [8, 9, 5, 5, 2, 2, 5, 5, 8, 7,... |
Feedback: Incorrect length on line 1: expected 9, got 3
Test 2 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 4 5 10 5 30 15 30 15 10 |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [20, 40, 4, 5, 10, 5, 30, 15, ... |
Feedback: Incorrect length on line 1: expected 40, got 4
Test 3 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 29 8 7 13 2 14 2 9 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [20, 40, 29, 8, 7, 13, 2, 14, ... |
Feedback: Incorrect length on line 1: expected 40, got 4
Test 4 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 14 5 12 5 25 8 28 13 28 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [20, 40, 14, 5, 12, 5, 25, 8, ... |
Feedback: Incorrect length on line 1: expected 40, got 4
Test 5 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 12 3 20 7 16 7 9 11 13 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [20, 40, 12, 3, 20, 7, 16, 7, ... |
Feedback: Incorrect length on line 1: expected 40, got 4
Test 6 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 9 35 33 2 3 2 8 4 8 4 5 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [9, 35, 33, 2, 3, 2, 8, 4, 8, ... |
Feedback: Incorrect length on line 1: expected 35, got 3
Test 7 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 30 100 69 6 10 6 14 7 14 7 18 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [30, 100, 69, 6, 10, 6, 14, 7,... |
Feedback: Incorrect length on line 1: expected 100, got 4
Test 8 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 40 60 192 11 3 11 5 10 6 11 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| [40, 60, 192, 11, 3, 11, 5, 10... |
Feedback: Incorrect length on line 1: expected 60, got 4
Test 9 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 50 100 142 1 1 1 7 1 11 1 14 ... |
| correct output |
|---|
| *=====*===*==*................... |
| user output |
|---|
| [50, 100, 142, 1, 1, 1, 7, 1, ... |
Feedback: Incorrect length on line 1: expected 100, got 4
Test 10 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 1000 10 1 4 7 1 4 1 9 ... |
| correct output |
|---|
| ...*====*........................ |
| user output |
|---|
| [100, 100, 1000, 10, 1, 4, 7, ... |
Feedback: Incorrect length on line 1: expected 100, got 5
