| Task: | Monikulmio |
| Sender: | rottis |
| Submission time: | 2025-10-27 00:27:32 +0200 |
| Language: | Ruby |
| Status: | READY |
| Result: | 0 |
| group | verdict | score |
|---|---|---|
| #1 | WRONG ANSWER | 0 |
| test | verdict | time | score | |
|---|---|---|---|---|
| #1 | WRONG ANSWER | 0.08 s | 0 | details |
| #2 | WRONG ANSWER | 0.08 s | 0 | details |
| #3 | WRONG ANSWER | 0.08 s | 0 | details |
| #4 | WRONG ANSWER | 0.08 s | 0 | details |
| #5 | WRONG ANSWER | 0.08 s | 0 | details |
| #6 | WRONG ANSWER | 0.07 s | 0 | details |
| #7 | WRONG ANSWER | 0.08 s | 0 | details |
| #8 | WRONG ANSWER | 0.08 s | 0 | details |
| #9 | WRONG ANSWER | 0.09 s | 0 | details |
| #10 | WRONG ANSWER | 0.09 s | 0 | details |
Code
def get_line_dir(vertex1, vertex2)
return [
vertex2[0] <=> vertex1[0],
vertex2[1] <=> vertex1[1]
]
end
def get_line_char(dir)
#* tarkoittaa monikulmion kärkipistettä.
#Merkit =, |, / ja \ ilmaisevat monikulmion janat.
#Merkki # tarkoittaa monikulmion sisäpuolista aluetta.
#Merkki . ulkona
if dir[1] == 0
return "="
elsif dir[0] == 0
return "|"
elsif dir[0] == dir[1]
return "\\"
else
return "/"
end
end
input = gets.chomp.split(" ").map(&:to_i)
n = input[0]
m = input[1]
k = input[2]
vertices = []
k.times do
input = gets.chomp.split(" ").map(&:to_i)
vertices.append([input[1], input[0]])
end
board = []
(n + 2).times do
board.append("#" * (m + 2))
end
idx = 0
vertices.each do |vertex1|
idx += 1
vertex2 = vertices[(idx) % vertices.length]
line_dir = get_line_dir(vertex1, vertex2)
line_char = get_line_char(line_dir)
board[vertex1[1]][vertex1[0]] = "*"
while vertex1 != vertex2
vertex1 = [vertex1[0] + line_dir[0], vertex1[1] + line_dir[1]]
board[vertex1[1]][vertex1[0]] = line_char
end
end
deltas = [
[-1, 0],
[1, 0],
[0, -1],
[0, 1]
]
propagate_positions = [0, 0]
while propagate_positions.length > 0
pos = propagate_positions.pop()
if pos[0] < 0 || pos[1] < 0 || pos[0] >= (m + 2) || pos[1] >= (n + 2)
next
end
if board[pos[1]][pos[0]] != "#"
next
end
board[pos[1]][pos[0]] = "."
deltas.each do |delta|
propagate_positions.append([pos[0] + delta[0], pos[1] + delta[1]])
end
end
board[1...(-1)].each do |row|
puts row[1...(-1)]
end
Test details
Test 1 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 8 9 5 5 2 2 5 5 8 7 8 ... |
| correct output |
|---|
| ......... ....*.... .../#\... ../###\.. .*#####*. ... |
| user output |
|---|
| ......... ....*.... .../#\... ../###\.. .|#####*. ... |
Feedback: Incorrect character on row 5, col 2: expected '*', got '|'
Test 2 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 4 5 10 5 30 15 30 15 10 |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 5, col 10: expected '*', got '|'
Test 3 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 29 8 7 13 2 14 2 9 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 8, col 7: expected '*', got '='
Test 4 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 14 5 12 5 25 8 28 13 28 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 5, col 12: expected '*', got '|'
Test 5 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 20 40 12 3 20 7 16 7 9 11 13 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 3, col 20: expected '*', got '\'
Test 6 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 9 35 33 2 3 2 8 4 8 4 5 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 2, col 3: expected '*', got '/'
Test 7 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 30 100 69 6 10 6 14 7 14 7 18 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 6, col 10: expected '*', got '/'
Test 8 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 40 60 192 11 3 11 5 10 6 11 7 ... |
| correct output |
|---|
| ................................. |
| user output |
|---|
| ................................. |
Feedback: Incorrect character on row 11, col 3: expected '*', got '\'
Test 9 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 50 100 142 1 1 1 7 1 11 1 14 ... |
| correct output |
|---|
| *=====*===*==*................... |
| user output |
|---|
| |=====*===*==*................... |
Feedback: Incorrect character on row 1, col 1: expected '*', got '|'
Test 10 (public)
Verdict: WRONG ANSWER
| input |
|---|
| 100 100 1000 10 1 4 7 1 4 1 9 ... |
| correct output |
|---|
| ...*====*........................ |
| user output |
|---|
| ...*====*........................ |
Feedback: Incorrect character on row 10, col 1: expected '*', got '|'
