?>
                
перевести код на Python const MAX = 38;var n, x, y, i, j : integer;var m : array [1..MAX, 1..MAX] of integer;var maxH : integer;procedure spojuj(x, y, hloubka : integer); var i, j : integer; begin if hloubka > maxH then maxH := hloubka; for i:=1 to MAX do if m[y, i] > 0 then begin dec(m[y, i]); spojuj(y, i, hloubka +1); spojuj(i, y, hloubka +1); inc(m[y, i]); end else if m[i, y] > 0 then begin dec(m[i, y]); spojuj(i, y, hloubka +1); spojuj(y, i, hloubka +1); inc(m[i, y]); end; end;begin maxH := 0; for i:=1 to MAX do for j:=1 to MAX do m[i, j] := 0; read(n); for i:=1 to n do begin read(x, y); inc(m[x, y]); end; for i:=1 to MAX do for j:=1 to MAX do if m[i, j] > 0 then begin dec(m[i, j]); spojuj(i, j, 1); spojuj(j, i, 1); inc(m[i, j]); end; write(maxH);end.
              
              
              
                
Ответы
                
              
              
             
            
          
Пусть a*b = X - размер изображения (количество точек в изображении).
Для кодирования одного из 64 цветов требуется log(2)64 = 6 бит (2^6=64).
96 Кбайт = 96*1024 байт = 96*1024*8 бит
В экономном режиме:
96*1024*8 = X*100*100*6;
X = 96*1024*8 / (100*100*6) = 128*1024/10000
2 Мбайта = 2*1024 Кбайт = 2*1024*1024 байт = 2*1024*1024*8 бит
Пусть z - объем одного цвета в палитре до оптимизации
2*1024*1024*8 = X*400*400*z
2*1024*1024*8 = (128*1024/10000)*400*400*z
2*1024*8 = (128)*4*4*z
z = 16*1024/(128*4*4) = 8 бит
количество цветов в палитре до оптимизации = 2^8 = 256
ответ: 256