Заявление проблемы: < /strong> < /p>
Синий кризис: моделирование загрязнения в реальном времени и изоляция
Сетка чистой воды находится под угрозой химического загрязнения из-за потока воды. Вам дано: < /p>
[*] Уровни загрязнения в каждой ячейке сетки R × C. < /p>
< /li>
Карта потока воды, указывающая, вытекает ли вода из этой клетки ( [j]> или нет. Каждая ячейка для противодействия загрязнению. < /p>
< /li>
< /ul>
Вы должны смоделировать процесс распространения и очистки загрязнения по единицам времени. После этого выполните анализ угроз в результирующей сетке: < /p>
Считайте количество зон опасности - ячейки с загрязнением ≥ danger_level. < /P>
< /li>
Найдите наиболее тяжелую контурированную клетку. секторов (соседних безопасных клеток), которые необходимо отключить, чтобы предотвратить дальнейшее распространение из опасных зон. dimensions, time steps, contamination threshold)
[*]The next R lines contain: Contamination grid (each line has C integers)
[*]The next R lines contain: Flow grid (each line has C integers; > 0 means water can spread)
Следующие R -строки содержат: очищающая сетка (каждая строка имеет C -целые числа; сумма уменьшает каждый шаг) < /p>
< /li>
< /ul>
Выходной формат: < /strong> < /p>
Первая строка вывода Prints Номер Dine Zneons. /> < /li>
Вторая строка печатает координаты наиболее загрязненной ячейки (как (i, j)). < /p>
< /li>
Третья строка печатает минимальное количество безопасных секторов, чтобы закрыть (соседи опасных зон). /> См. Вывод вывода для форматирования спецификаций. 100 < /p>
< /li>
0 ≤ Загрязнение [j], очистить [j] ≤ 100 < /p>
< /li>
0 ≤ flow [j] ≤ 1 < /p>
< /li>
0 ≤ 0 ≤ 01 < /p>
< /li>
. 100 < /p>
< /li>
< /ul>
Тестовые случаи образца:
input 1: < /strong> < /p>
2 2 1 50
10 20
30 40
0 0
0 0
5 5
5 5
вывод 1: [/b]
0
(1,1)
0
input 2:
4 4 3 60
60 50 40 30
30 40 50 60
70 80 90 100
55 60 70 80
0 1 1 1
1 1 1 1
1 -1 -1 0
0 -1 0 0
5 5 5 5
5 5 5 5
5 5 5 5
5 5 5 5
output 2:
12
(0,1)
4
мой код (не проходит каждый тестовый пример):
R, C, T, D = map(int, input().split())
grid = [list(map(int, input().split())) for _ in range(R)]
flow = [list(map(int, input().split())) for _ in range(R)]
purify = [list(map(int, input().split())) for _ in range(R)]
dirs = [(-1,0), (1,0), (0,-1), (0,1)]
# Simulation
for _ in range(T):
new_grid = [row[:] for row in grid]
for i in range(R):
for j in range(C):
if flow[j] > 0 and grid[j] > 0: # Only spread if contamination exists
for di, dj in dirs:
ni, nj = i + di, j + dj
if 0 max_val:
max_val = grid[j]
max_pos = (i, j)
# Count safe neighbors of dangerous zones
safe_neighbors = set()
for i, j in dangerous_cells:
for di, dj in dirs:
ni, nj = i + di, j + dj
if 0
Подробнее здесь: https://stackoverflow.com/questions/796 ... ng-problem
Синий кризисный загрязнение Проблема кодирования кодирования [закрыто] ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение