Proyeksiya#11280

Proyeksiya

1 saniyə
128 meqabayt
Çətin

Hər kəs bilir ki, siz TensorFlow-un fanatısınız. Buna görə də qarşınızda iki proyeksiyadan TensorFlow loqosunu yenidən yaratmaq vəzifəsi dururdu.

Tutaq ki, sizdə n * m * h ölçüsündə üçölçülü həcm var və iki proyeksiya (elementləri 0 və 1 olan n * m və n * h ölçüsündə iki matrisa) mövcuddur. Sizdən xahiş olunur ki, kubiklərdən istifadə edərək yaradılmış 3D obyektin, işıq soldan və öndən düşdüyündə, proyeksiya matrisalarında göstərilən kölgələri atacaq şəkildə 3D həcmin daxilində yerləşdirilməli olan mümkün kub dəstlərini hesablayasınız. Əgər bu mümkün deyilsə, sadəcə -1 çıxarın. Əgər bu mümkündürsə, siz dəqiq iki dəst tapmalısınız: biri maksimum sayda kubla və biri minimum sayda kubla. Siz çəkisizlik olduğunu fərz edə bilərsiniz (kubiklər 3D həcmin daxilində dəstək tələb etmədən yerləşdirdikləri yerdə yerləşdirilir). 1 kölgəni, 0 isə işığı təmsil edir.

Əgər belə həllər bir neçə varsa, leksikoqrafik olaraq ən kiçiyini çıxarın. Həll a, b həllindən leksikoqrafik olaraq kiçikdir, əgər iki həll arasında fərqli olan ilk rəqəm a-da b-dən kiçikdirsə.

Məsələn, [(0, 0, 0), (1, 1, 1)] həlli [(1, 1, 1), (0, 0, 0)] həllindən kiçikdir.

Giriş məlumatları

Birinci sətirdə üç tam ədəd n, m, h (1 ≤ n, m, h ≤ 100) - məkanın ölçüləri yazılmışdır.

Növbəti n sətirin hər biri m simvolu ehtiva edir, hər biri ya 1 (kölgə sahəsi), ya da 0 (işıq sahəsi) təmsil edir. Matris obyektin ön proyeksiyasını təsvir edir.

Növbəti n sətirin hər biri yuxarıdakı formatda h simvolu ehtiva edir və obyektin sol proyeksiyasını təsvir edir.

Çıxış məlumatları

Birinci sətirdə bir rəqəm çıxarın: əgər həll yoxdursa -1, əks halda k[max] - verilən giriş məlumatları ilə iki proyeksiya yaradan məkanda yerləşdirilə biləcək maksimum kub sayıdır.

Növbəti k[max] sətir leksikoqrafik olaraq maksimum kub sayına malik həllin ən kiçik həllini təmsil edən x, y, z (0 ≤ x < n, 0 ≤ y < m, 0 ≤ z < h) ədədlər üçlüyünü ehtiva etməlidir. Əgər həll mövcuddursa, daha bir sətir çıxarılmalıdır, bu da k[min] - verilən giriş məlumatları ilə iki proyeksiya yaradan məkanda yerləşdirilə biləcək minimum kub sayıdır.

Növbəti k[min] sətir leksikoqrafik olaraq minimum kub sayına malik həllin ən kiçik həllini təmsil edən x, y, z (0 ≤ x < n, 0 ≤ y < m, 0 ≤ z < h) ədədlər üçlüyünü ehtiva etməlidir.

İzah

(x, y, z) koordinatlarına malik kub n * m proyeksiyasında x sətirində və y sütununda kölgə yaradacaq və n * h proyeksiyasında x sətirində və z sütununda kölgə yaradacaq (0-dan indekslənir).

Nümunələr

Nümunə 1

Loading
Loading