Şəkil və Kölgə#2553

Şəkil və Kölgə

1 saniyə
64 meqabayt
Çox çətin

Maşınların simvolları tanımasını çətinləşdirmək məqsədilə "CAPTCHA" (Completely Automated Public Turing test to tell Computers and Humans Apart) sistemində müxtəlif çevrilmələrdən istifadə olunur. Belə çevrilmələrdən biri "kölgə salınması"dır: simvol sürüşdürülərək özü üzərinə yerləşdirilir. Məsələn, aşağıdakı şəkildə 8×8 ölçülü təsvir üçün "S" hərfinə kölgə salınma prosesi göstərilir.

16×16 ölçülü təsvirə baxaq. Başlanğıc nöqtəsi sol üst küncdədir; üfüqi x oxu soldan sağa, şaquli y oxu yuxarıdan aşağıya yönəlib. (x, y) vektoru təsvirin sürüşdürüldüyü vektordur və buna sürüşmə vektoru deyilir. Yuxarıdakı şəkildə sürüşmə vektoru (3, 1)-dir: təsvir 3 nöqtə sağa, 1 nöqtə aşağıya sürüşdürülüb. Kölgə tətbiq edilməmiş orijinal təsvirə təsvir, dəyişdirilmiş təsvirə isə kölgəli təsvir deyilir. Həmçinin qəbul edirik ki, sürüşmə vektoru elə seçilir ki, kölgəli (qara) nöqtə 16×16 kvadratından kənara çıxmasın.

Tapşırığınız odur ki, əks çevrilmə aparan proqram yazasınız: kölgəli təsvirə əsasən, minimal sayda kölgəli (qara) nöqtəyə malik orijinal təsvir və sürüşmə vektorunu tapın. Bir neçə cavab olduğu halda, istənilən biri çıxış kimi qəbul edilir.

Məhdudiyyətlər. Sürüşmə vektoru elə məhdudlaşdırılıb ki, qara nöqtələr 16×16 kvadratından kənara çıxmasın. -15 ≤ x, y ≤ 15.

Giriş

Girişdə, kölgəli təsvir verilir və bu təsvir 16 sətirdən ibarətdir, hər biri 16 simvoldan ibarət olmalıdır. Boş (ağ) nöqtə "." (ASCII = 2Eh) simvolu ilə, kölgəli nöqtə isə "#" (ASCII = 23h) simvolu ilə göstərilir.

Çıxış

Çıxışın ilk sətrində boşluqla ayrılmış iki tam ədəd x və y (sürüşmə vektoru) olmalıdır. Sonra 16 sətirdən ibarət 16 simvol daxil edilməlidir — təsvir girişdə olduğu kimi kodlanır.

Nümunələr

Nümunə 1

Loading
Loading