Submission details
Task:Monikulmio
Sender:Belinda
Submission time:2025-11-06 18:05:00 +0200
Language:Python3 (PyPy3)
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttimescore
#10.04 s0details
#20.06 s0details
#30.06 s0details
#40.06 s0details
#50.06 s0details
#60.05 s0details
#70.08 s0details
#80.07 s0details
#90.09 s0details
#100.12 s0details

Code

n, m, k = (int(x) for x in input().split())


coordinates = []
for i in range(k):
    x, y = (int(u) for u in input().split())
    coordinates.append([x, y])



def janat ():
    for i in coordinates:
        if coordinates[x[i + 1]] / coordinates[x[i + 2]] == 1/2 and coordinates[y[i + 1]] / coordinates[y[i + 2]] == 1/2:
            print("'\'", end="")
        if coordinates[x[i + 1]] / coordinates[x[i + 2]] == 2 and coordinates[y[i + 1]] / coordinates[y[i + 2]] == 2:
            print("/", end="")
        if coordinates[x[i + 1]] / coordinates[x[i + 2]] == 1:
            print("=", end="")
        if coordinates[y[i + 1]] / coordinates[y[i + 2]] == 1:
            print("´täs pitäis olla viiva ylös", end="")

def piirrä():
    counter = 0
    for rivi in range(n):
        for sarake in range (m):
            current_place = [rivi + 1, sarake + 1]
            if current_place not in coordinates:
                if 0 < counter < k: #en osaa laittaa sitä equal or greater than, ja tää on muutenkin virheellinen
                    if current_place [0] / coordinates[counter][0] == 0.5 and current_place[1] / coordinates[counter][1] == 0.5:
                        print("\\", end="")
                    elif current_place [0] / coordinates[counter][0] == 2 and current_place[1] / coordinates[counter][1] == 2:
                        print("/", end="")
                    elif current_place[0] / coordinates[counter][0] == 1:
                        print("=", end="")
                    elif current_place[1] / coordinates[counter][1] == 1:
                        print("|", end="")
                    else:
                        print(".", end="")
                else:
                    print (".", end="")
            if current_place in coordinates:
                counter = counter + 1
                print("*", end="")
        print ("\n")


plain = []

def pisteet ():
    for rivi in range(n):
        uusi_rivi = []
        for sarake in range (m):
            uusi_rivi.append(".")
        plain.append(uusi_rivi)

def tähdet ():
    for y, x in coordinates:
        plain [y-1][x-1] = "*"



def printtaa ():
    for rivi in plain:
        output = ""
        for solu in rivi:
            output = output + solu
        print(output)

def jaanat ():
    kierros = -1
    for y, x in coordinates:
        kierros = kierros + 1
        line_counter = 0
        if coordinates [kierros][1] == coordinates [kierros+1][1]: #ne on samassa sarakkeessa
            for i in range ((abs(coordinates[kierros][0] - coordinates[kierros + 1][0]))-1): #kuinka monta merkkiä pitää piirtää
                line_counter = line_counter + 1
                if coordinates[kierros][0] < coordinates[kierros + 1][0]: #oikealle vai vasemmalle
                    plain[y - 1 + line_counter][x - 1] = "|"
                else:
                    plain[y - 1 - line_counter][x - 1] = "|"
        if coordinates[kierros][0] == coordinates[kierros + 1][0]: #ne on samalla rivillä
            for i in range ((abs(coordinates[kierros][1] - coordinates[kierros + 1][1]))-1):
                line_counter = line_counter + 1
                if coordinates[kierros][1] < coordinates[kierros + 1][1]:
                    plain[y - 1][x - 1 + line_counter] = "="
                else:
                    plain[y - 1][x - 1 - line_counter] = "="
        elif coordinates[kierros][0] - coordinates[kierros + 1][0] == coordinates[kierros][1] - coordinates[kierros + 1][1]: #kaakkoon tai luoteeseen
            for i in range ((abs(coordinates[kierros][1] - coordinates[kierros + 1][1]))-1):
                line_counter = line_counter + 1
                if coordinates[kierros][1] < coordinates[kierros + 1][1]:
                    plain[y - 1 + line_counter][x - 1 + line_counter] = "\\"
                else:
                    plain[y - 1 - line_counter][x - 1 - line_counter] = "\\"
        elif abs(coordinates[kierros][0] - coordinates[kierros + 1][0]) == abs(coordinates[kierros][1] - coordinates[kierros + 1][1]): #koilliseen tai lounaaseen
            for i in range ((abs(coordinates[kierros][1] - coordinates[kierros + 1][1]))-1):
                line_counter = line_counter + 1
                if coordinates[kierros][1] < coordinates[kierros + 1][1]:
                    plain[y - 1 - line_counter][x - 1 + line_counter] = "/"
                else:
                    plain[y - 1 + line_counter][x - 1 - line_counter] = "/"
        if kierros == k - 2:
            break

    kierros = kierros + 1
    line_counter = 0
    y = coordinates [kierros][0]
    x = coordinates [kierros][1]
    if coordinates[kierros][1] == coordinates[0][1]:  # ne on samassa sarakkeessa
        for i in range((abs(coordinates[kierros][0] - coordinates[0][0])) - 1):  # kuinka monta merkkiä pitää piirtää
            line_counter = line_counter + 1
            if coordinates[kierros][0] < coordinates[0][0]:  # oikealle vai vasemmalle
                plain[y - 1 + line_counter][x - 1] = "|"
            else:
                plain[y - 1 - line_counter][x - 1] = "|"
    if coordinates[kierros][0] == coordinates[0][0]:  # ne on samalla rivillä
        for i in range((abs(coordinates[kierros][1] - coordinates[0][1])) - 1):
            line_counter = line_counter + 1
            if coordinates[kierros][1] < coordinates[0][1]:
                plain[y - 1][x - 1 + line_counter] = "="
            else:
                plain[y - 1][x - 1 - line_counter] = "="
    elif coordinates[kierros][0] - coordinates[0][0] == coordinates[kierros][1] - coordinates[0][1]:  # kaakkoon tai luoteeseen
        for i in range((abs(coordinates[kierros][1] - coordinates[0][1])) - 1):
            line_counter = line_counter + 1
            if coordinates[kierros][1] < coordinates[1][1]:
                plain[y - 1 + line_counter][x - 1 + line_counter] = "\\"
            else:
                plain[y - 1 - line_counter][x - 1 - line_counter] = "\\"
    elif abs(coordinates[kierros][0] - coordinates[0][0]) == abs(coordinates[kierros][1] - coordinates[0][1]):  # koilliseen tai lounaaseen
        for i in range((abs(coordinates[kierros][1] - coordinates[0][1])) - 1):
            line_counter = line_counter + 1
            if coordinates[kierros][1] < coordinates[0][1]:
                plain[y - 1 - line_counter][x - 1 + line_counter] = "/"
            else:
                plain[y - 1 + line_counter][x - 1 - line_counter] = "/"

def täyttö():
    sisällä = 0
    monennessa_symbolissa = 1
    monennessa_rivissä = 1
    for i in range (n):
        for symbol in plain[monennessa_rivissä -1]:
            print (symbol)
            if monennessa_symbolissa % m == 0:
                monennessa_rivissä = monennessa_rivissä + 1
                print ("halloo", monennessa_rivissä)
            if sisällä == 1 and symbol == ".":
                print (monennessa_rivissä, monennessa_symbolissa - ((monennessa_rivissä - 1) * m))
                plain [monennessa_rivissä - 1][monennessa_symbolissa - ((monennessa_rivissä - 1) * m) - 1] = "#"
            if symbol == "/" or symbol == "|" or symbol == "\\": #tää logiikka on väärin tässä mut osaan korjata sit ku tää loppukoodi alkais toimii
                if sisällä == 0:
                    sisällä = 1
                elif sisällä == 1:
                    sisällä = 0

            monennessa_symbolissa = monennessa_symbolissa + 1
        if monennessa_rivissä == n:
            break



pisteet()
tähdet()
jaanat()
täyttö ()
printtaa()

Test details

Test 1 (public)

Verdict:

input
8 9 5
5 2
2 5
5 8
7 8
...

correct output
.........
....*....
.../#\...
../###\..
.*#####*.
...

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 9, got 1

Test 2 (public)

Verdict:

input
20 40 4
5 10
5 30
15 30
15 10

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 40, got 1

Test 3 (public)

Verdict:

input
20 40 29
8 7
13 2
14 2
9 7
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 40, got 1

Test 4 (public)

Verdict:

input
20 40 14
5 12
5 25
8 28
13 28
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 40, got 1

Test 5 (public)

Verdict:

input
20 40 12
3 20
7 16
7 9
11 13
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 40, got 1

Test 6 (public)

Verdict:

input
9 35 33
2 3
2 8
4 8
4 5
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 35, got 1

Test 7 (public)

Verdict:

input
30 100 69
6 10
6 14
7 14
7 18
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 100, got 1

Test 8 (public)

Verdict:

input
40 60 192
11 3
11 5
10 6
11 7
...

correct output
.................................

user output
.
.
.
.
.
...

Feedback: Incorrect length on line 1: expected 60, got 1

Test 9 (public)

Verdict:

input
50 100 142
1 1
1 7
1 11
1 14
...

correct output
*=====*===*==*...................

user output
*
=
=
=
=
...

Feedback: Incorrect length on line 1: expected 100, got 1

Test 10 (public)

Verdict:

input
100 100 1000
10 1
4 7
1 4
1 9
...

correct output
...*====*........................

user output
.
.
.
*
=
...

Feedback: Incorrect length on line 1: expected 100, got 1