Главная » Статьи » Задачи с acm.timus.ru » Пакет решений на 15.03.08 |
1060
Var C: Char; I,J,R,S: LongInt; M,T: Array[0..5,0..5] of Boolean; B,A: Array[1..17] of LongInt; X,Y: LongInt; Begin R:=17; FillChar(A,SizeOf(A),0); For I:=1 to 4 do begin For J:=1 to 4 do begin Read(C); If C='w' then M[I,J]:=True else M[I,J]:=False; End; Readln; End; While A[17]=0 do begin I:=1; Inc(A[1]); While A[I]=2 do begin A[I]:=0; Inc(I); Inc(A[I]); End; T:=M; For I:=1 to 16 do If A[I]=1 then begin X:=(I-1) mod 4+1; Y:=(I-1) div 4+1; T[X,Y]:=Not T[X,Y]; T[X+1,Y]:=Not T[X+1,Y]; T[X,Y+1]:=Not T[X,Y+1]; T[X-1,Y]:=Not T[X-1,Y]; T[X,Y-1]:=Not T[X,Y-1]; End; For I:=1 to 16 do If T[(I-1) mod 4+1,(I-1) div 4+1]<>T[4,4] then break; If I=16 then begin S:=0; For I:=1 to 16 do S:=S+A[I]; If R>S then begin R:=S; B:=A; End; End; End; If R=17 then Writeln('Impossible') else Writeln(R); End. | |
Категория: Пакет решений на 15.03.08 | Добавил: solver (15.03.2008) | |
Просмотров: 745 |