[Kattis] Splat
Programming is known as where logic intertwines with creativity, but this time logic actually meets art. The puzzle deals with Jackson Pollock’s famous painting style: dripping paint randomly on the canvas. You can find the puzzle here. Let’s solve it in Python!
This is the code for the solution:
# Youtube.com/@codedabacus
# Kattis - Splat
# libraries
from math import sqrt, pi
# total paintings
c = int(input())
# receive all painting descriptions
for _ in range(c):
# total drops of paint for this painting
n = int(input())
# storage for the drops
drops = []
# receive all drops
for _ in range(n):
x, y, v, col = input().split()
r = sqrt(float(v) / pi) # compute the radius
drops.append([float(x), float(y), r, col]) # update the container
# reverse the drops
drops = drops[::-1]
# total queries
m = int(input())
# receive all queries
for _ in range(m):
# the coordinates of the query
x, y = map(float, input().split())
# check all drops
for drop in drops:
# drop's info
d_x, d_y, d_r, d_color = drop
# compute the distance between this query and this drop
dist = sqrt((x - d_x) ** 2 + (y - d_y) ** 2)
if dist < d_r:
print(d_color)
break
else:
print('white')
Here you can find more about the puzzle and its solution: