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.
lielkva2.dat | lielkva2.rez | Piezīme |
10 3 1 BABABAAAAA BBBAABBBCA AABBAABBAA ABABAAAABB BBBBAAAABB BBBBAAAABA BBABAAAAAA AAACCCBBBB BBBCCCAAAB AAACCCBBBB |
4 |
No dotā laukuma var izgriezt 4*4 rūtiņas lielu pirmās ("A") krāsas kvadrātu, kura kreisais augšējais stūris atrodas 4.rindas 5.kolonnā. |
lielkva2.dat | lielkva2.rez | Piezīme |
12 8 3 BADEBABAAAAA BBBAABCHBBCA AABBAABHHBAA ABABAAAABBFG BBBFBBAAAABB BBBBAAHFAABA BBAHEBAAAAAA AAACDCCCBBBB BBBCCCAHAHAB AAACCCBBGGBB ABCDEFGHHGGH BDCFFGHHGFCH |
5 |
No dotā laukuma var izgriezt 5*5 rūtiņas lielu kvadrātu, kurš satur trīs krāsu ("A", "B" un "F") rūtiņas un kura kreisais augšējais stūris atrodas 2.rindas 1.kolonnā. |