🟠 Կոլաժ
🤖
Այս խնդրում մենք կգրենք ծրագիր, որը կմիավորի մուտքային մի քանի նկարները կոլաժում։
Խնդրի պարզության համար կսահմանափակենք մուտքայի նկարների քանակը 8-ով։ Քիչ թե շատ «գեղեցիկ» կոլաժ ստանալու համար, նաև պարտադրենք, որպեսզի օգտագործողը տրամադրի զույգ թվով մուտքային նկարներ։
./collage tower.bmp courtyard.bmp stadium.bmp
You should provide even number of input images
Նկարները հարկավոր է միավորել զույգ-զույգ, ձախից աջ, վերևից ներքև հերթականությամբ։
./collage tower.bmp courtyard.bmp stadium.bmp yard.bmp

Նաև պետք է հաշվի առնել, որ նկարների չափերը կարող են տարբերվել։
- Ստացված վերջնական նկարի լայնությունը հավասար է «ամենալայն տողի» լայնությանը։
- Ներքևի օրինակում օգտագործողը տրամադրել է
4
մուտքային նկար։car.bmp
նկարի լայնությունը810
պիկսել է, իսկ մնացած երեք նկարների լայնությունը600
պիկսել։ Արդյունքում ստացված նկարի լայնությունը կլինիmax(600+600, 600+810) = 1410
պիկսել։
- Նկարների զույգը կողք կողքի միավորելուց հետո, դրանց գումարային լայնությունը կարող է ավելի փոքր լինել, քան վերջնական նկարի լայնությունը։ Այդ դեպքում, «պակասող» մասը հարկավոր է տեղադրել նկարների միջև և «ներկել» այն սպիտակ գույնով։
- Ներքևի օրինակում, առաջին «տողի» երկու նկարների լայնությունների գումարը հավասար է
600+600 = 1200
պիկսել։ Այդ իսկ պատճառով, կոլաժը ստեղծելիս նկարների միջև տեղադրվել է1410 - 1200 = 210
պիկսել հաստությամբ սպիտակ գիծ։
- Եթե կողք կողքի գտնվող նկարների բարձրությունը տարբեր է, ապա պետք է փոքր նկարի «բացակա» մասը «ներկել» սպիտակ գույնով։
- Ներքևի օրինակում,
stadium.bmp
նկարի բարձրությունը հավասար է400
պիկսել, իսկcar.bmp
նկարի բարձրությունը450
պիկսել։ Այդ իսկ պատճառով վերջնական կոլաժումstadium.bmp
նկարի ներքևում ավելացվել է50
պիկսել հաստությամբ սպիտակ գույնի գիծ։
./collage tower.bmp courtyard.bmp stadium.bmp car.bmp

Օրինակներ՝
./collage tower.bmp car.bmp car.bmp car.bmp

./collage tower.bmp car.bmp car.bmp car.bmp stadium.bmp courtyard.bmp

⚠️
Տվյալ պահին տեխնիկական պատճառներով այս խնդրի ավոտմատ թեստավորումը անհասանելի է։ Ծրագիրը լոկալ թեստավորելու համար կարող եք օգնվել հետևյալ bmp ֆայլերից։։
Constraints
Time limit: 0.2 seconds
Memory limit: 512 MB
Output limit: 1 MB