N*N rūtiņu liela laukuma katra rūtiņa ir nokrāsota kādā no M krāsām. No šī laukuma nepieciešams izgriest pēc iespējas lielāku kvadrātu, kura robežas ietu pa laukuma rūtiņu robežām un kurš saturētu ne vairāk kā K dažādu krāsu rūtiņas. Uzrakstiet programmu, kas atrod šāda kvadrāta malas garumu!
Teksta faila lielkva2.dat pirmajā rindā doti trīs naturāli skaitļi, kas atdalīti ar tukšumsimboliem - laukuma malas garums N(N≤1000), laukumā izmantoto krāsu skaits M (M≤52) un izgriežamajā kvadrātā lielākais izmantoto krāsu skaits K(K≤M). Katrā no nākošajām N faila rindām dota N simbolu virkne, kurā var būt tikai latīņu alfabēta lielie un mazie burti. Virknēs nav atdalošo tukšumsimbolu. j-tais burts faila i+1-ajā rindā norāda laukuma i-tās rindas j-tās kolonnas rūtiņas krāsu. Krāsas tiek kodētas ar latīņu alfabēta burtiem pēc kārtas, vispirms izmantojot lielos un pēc tam mazos burtus. Burts "A" atbilst pirmajai, "B" - otrajai, ..., "Z" - divdesmit sestajai, "a" - divdesmit septītajai, "b" - divdesmit astotajai, ..., "y" - piecdesmit pirmajai, "z" - piecdesmit otrajai krāsai.
Teksta faila lielkva2.rez vienīgajā rindā jāizvada lielākā kvadrāta, kurā ir ne vairāk kā K dažādu krāsu rūtiņas, malas garums.
|
Copyright © 2001 Girts Folkmanis, LIIS |