Задача 212: Комбинированный объем кубоидов
Выровненный по оси кубоид, заданный параметрами {(x0, y0, z0), (dx, dy, dz)}, состоит из всех точек (X, Y, Z) таких, что x0 ≤ X ≤ x0 + dx, y0 ≤ Y ≤ y0 + dy и z0 ≤ Z ≤ z0 + dz. Объем кубоида - это произведение, dx × dy × dz. Объединенный объем коллекции кубоидов - это объем их объединения и будет меньше суммы отдельных томов, если любые кубоиды перекрываются.
Пусть C1, ..., C50000 представляют собой набор из 50000 выровненных по оси кубоидов, так что Cn имеет параметры
x0 = S6n-5 по модулю 10000y0 = S6n-4 по модулю 10000z0 = S6n-3 по модулю 10000dx = 1 + (S6n-2 по модулю 399) dy = 1 + (S6n-1 по модулю 399) dz = 1 + (S6n по модулю 399)
где S1, ..., S300000 исходят от генератора «Отложенного Фибоначчи»:
Для 1 ≤ k ≤ 55, Sk = [100003 - 200003k + 300007k3] (по модулю 1000000) Для 56 ≤ k Sk = [Sk-24 + Sk-55] (по модулю 1000000)
Таким образом, C1 имеет параметры {(7,53,183), (94,369,56)}, C2 имеет параметры {(2383,3563,5079), (42,212,344)} и т. Д.
Комбинированный объем первых 100 кубоидов, C1, ..., C100, составляет 723581599.
Что такое объединенный объем всех 50000 кубоидов, C1, ..., C50000?