| Task: | Monikulmio |
| Sender: | Jimuium |
| Submission time: | 2025-11-01 17:51:49 +0200 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | 51 |
| group | verdict | score |
|---|---|---|
| #1 | TIME LIMIT EXCEEDED | 51 |
| test | verdict | time | score | |
|---|---|---|---|---|
| #1 | ACCEPTED | 0.05 s | 10 | details |
| #2 | ACCEPTED | 0.26 s | 10 | details |
| #3 | ACCEPTED | 0.50 s | 7 | details |
| #4 | ACCEPTED | 0.41 s | 10 | details |
| #5 | ACCEPTED | 0.33 s | 7 | details |
| #6 | ACCEPTED | 0.14 s | 7 | details |
| #7 | TIME LIMIT EXCEEDED | -- | 0 | details |
| #8 | TIME LIMIT EXCEEDED | -- | 0 | details |
| #9 | TIME LIMIT EXCEEDED | -- | 0 | details |
| #10 | TIME LIMIT EXCEEDED | -- | 0 | details |
Code
korkeus, leveys, pisteidenmäärä = input().split(" ")
pisteet = []
for i in range(int(pisteidenmäärä)):
y, x = input().split(" ")
pisteet.append([int(x), int(y)])
merkkikoordinaatit = { "=": [], "*": pisteet, "|": [], "/": [], "\\": [], "#": [] }
x = 0
y = 1
for i in range(int(pisteidenmäärä)):
edellinenPiste = None
piste = pisteet[i]
edellinenPiste = pisteet[i - 1]
if edellinenPiste[x] == piste[x]:
for j in range( min(edellinenPiste[y], piste[y]) + 1 , max(edellinenPiste[y], piste[y]) ):
merkkikoordinaatit["|"].append([piste[x], j])
if edellinenPiste[y] == piste[y]:
for j in range( min(edellinenPiste[x], piste[x]) + 1 , max(edellinenPiste[x], piste[x]) ):
merkkikoordinaatit["="].append([j, piste[y]])
if edellinenPiste[x] < piste[x] and edellinenPiste[y] > piste[y]:
for j in range(edellinenPiste[x]+1 , piste[x] ):
merkkikoordinaatit["/"].append([j, edellinenPiste[y] - (j - edellinenPiste[x])])
if edellinenPiste[x] > piste[x] and edellinenPiste[y] < piste[y]:
for j in range(piste[x]+1 , edellinenPiste[x] ):
merkkikoordinaatit["/"].append([j, piste[y] - (j - piste[x])])
if edellinenPiste[x] < piste[x] and edellinenPiste[y] < piste[y]:
for j in range(edellinenPiste[x]+1 , piste[x] ):
merkkikoordinaatit["\\"].append([j, edellinenPiste[y] + (j - edellinenPiste[x])])
if edellinenPiste[x] > piste[x] and edellinenPiste[y] > piste[y]:
for j in range(piste[x]+1 , edellinenPiste[x] ):
merkkikoordinaatit["\\"].append([j, piste[y] + (j - piste[x])])
for j in range(1, int(leveys)+1):
for i in range(1, int(korkeus)+1):
vasemmatMerkit = 0
for vasemmat in range(1, j):
if [vasemmat, i] in merkkikoordinaatit["/"] or [vasemmat, i] in merkkikoordinaatit["\\"] or [vasemmat, i] in merkkikoordinaatit["|"] or [vasemmat, i] in merkkikoordinaatit["*"]:
vasemmatMerkit += 1
oikeatMerkit = 0
for oikeat in range(j+1, int(leveys)+1):
if [oikeat, i] in merkkikoordinaatit["/"] or [oikeat, i] in merkkikoordinaatit["\\"] or [oikeat, i] in merkkikoordinaatit["|"] or [oikeat, i] in merkkikoordinaatit["*"]:
oikeatMerkit += 1
if vasemmatMerkit % 2 == oikeatMerkit % 2 == 1:
merkkikoordinaatit["#"].append([j, i])
for i in range(1, int(korkeus)+1):
for j in range(1, int(leveys)+1):
yläalamerkit = 0
for yllä in range(1, i):
if [j, yllä] in merkkikoordinaatit["/"] or [j, yllä] in merkkikoordinaatit["\\"] or [j, yllä] in merkkikoordinaatit["="] or [j, yllä] in merkkikoordinaatit["*"]:
yläalamerkit += 1
alhaalamerkit = 0
for alla in range(i+1, int(korkeus)+1):
if [j, alla] in merkkikoordinaatit["/"] or [j, alla] in merkkikoordinaatit["\\"] or [j, alla] in merkkikoordinaatit["="] or [j, alla] in merkkikoordinaatit["*"]:
alhaalamerkit += 1
if yläalamerkit % 2 == alhaalamerkit % 2 == 1:
merkkikoordinaatit["#"].append([j, i])
tuloste = ""
for i in range(1, int(korkeus)+1):
rivi = ""
for j in range(1, int(leveys)+1):
if [j, i] in merkkikoordinaatit["*"]:
rivi += "*"
elif [j, i] in merkkikoordinaatit["="]:
rivi += "="
elif [j, i] in merkkikoordinaatit["|"]:
rivi += "|"
elif [j, i] in merkkikoordinaatit["/"]:
rivi += "/"
elif [j, i] in merkkikoordinaatit["\\"]:
rivi += "\\"
elif [j, i] in merkkikoordinaatit["#"]:
rivi += "#"
else:
rivi += "."
tuloste += rivi + "\n"
print(tuloste)
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 |
|---|
| ................................. |
Feedback: Lines are drawn correctly. Incorrect fill character on row 3, col 31: expected '.', got '#'
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 |
|---|
| ................................. |
Feedback: Lines are drawn correctly. Incorrect fill character on row 8, col 9: expected '.', got '#'
Test 6 (public)
Verdict: ACCEPTED
| input |
|---|
| 9 35 33 2 3 2 8 4 8 4 5 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Lines are drawn correctly. Incorrect fill character on row 4, col 12: expected '#', got '.'
Test 7 (public)
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 30 100 69 6 10 6 14 7 14 7 18 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| (empty) |
Test 8 (public)
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 40 60 192 11 3 11 5 10 6 11 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| (empty) |
Test 9 (public)
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 50 100 142 1 1 1 7 1 11 1 14 ... |
| correct output |
|---|
| *=====*===*==*................... |
| user output |
|---|
| (empty) |
Test 10 (public)
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 100 100 1000 10 1 4 7 1 4 1 9 ... |
| correct output |
|---|
| ...*====*........................ |
| user output |
|---|
| (empty) |
