Algoritmul, pas cu pas
Cerința 1 e o simplă încălzire: pe fiecare rând caut cel mai lung șir neîntrerupt de pătrate negre și păstrez maximul peste toate rândurile. Atât.
Cerința 2 e inima problemei. Definiția fulgerului sună complicat — pătrate albe pe rânduri consecutive, legate prin latură sau vârf — dar se reduce la o noțiune cunoscută: gândește-te la fiecare pătrat alb ca la un nod, legat de vecinii lui albi, și un fulger e pur și simplu o „insulă” de pătrate albe lipite între ele.