.


:




:

































 

 

 

 


.




, , , . , , , - , .

. n , : v[1],v[2],... v[n]. , .

. ... , .

- n 3 .

.

: :=$xÎ (x - ).

( ):

:=;

:=false; :=false;

WHILE NOT AND NOT DO

IF

THEN :=true

ELSE IF

THEN :=

ELSE :=true

.

:

- , ;

:= , := .

:

;

, , ... ..

. - a,b,c. n n {a,b,c}, i- - , i- . - , .

, , . - , .. .

.

, .

. a b , , - . , , ... .

30

 

- ( ) .

, ( ) , - , . .

(BackTracking).

:

r1<r2, r1<r3, r2 r3 - .

- , .

 
 

 

 


- .

, , , .

.

. , 3 . - 1- n-. i (i<=n) i {a,b,c}.

i , , .. > (v[1]+v[2]+... v[n])/3.

<=n , : - , 3 - a, b c.

:

(1 2) =

(1 2).

, , .. - ( <=n).

 

30

 

- i , .

. . , .

, :

 
a a (c ; a). a b ( ; a b).
b a (c ; a). b c ( ; b c).
c a (c ; a). : [a/b][c...]Þ[b/c] ( , , ).

: c , c. , , - a b, b c.

, . , ... .

( ), :

 
a a. : [a/b][c...]Þ[b/c], c.
b
c

PROGRAM pp{PROGRAM\Prj6\Prj6.dpr}; CONST n=20;

VAR v: ARRAY[1..n] OF REAL; Yes{}: BOOLEAN;

Stek: ARRAY[1..n] OF a..c; iStek:0..n;

BEGIN {(v[1..n])};

{:=: 1- a}

Stek[1]:=a;iStek:=1; {}Yes:=false;

WHILE { }

NOT Yes AND (iStek>0)

DO { }

IF { }

THEN IF { } iStek=n

THEN {}Yes:=true

ELSE {:=, ,

.. a}

BEGIN iStek:=iStek+1; Stek[iStek]:=a END

ELSE BEGIN { }

WHILE (iStek>0) AND (Stek[iStek]=c)

DO iStek:=iStek-1;

IF { }(iStek>0)

THEN {:=, }

IF Stek[iStek]=a THEN Stek[iStek]:=b

ELSE {Stek[iStek]=b} Stek[iStek]:=c

END;

IF {} Yes THEN { }

ELSE WRITELN( ) END.

{ } , :

FUNCTION Dopustim: BOOLEAN;

VAR { }Sa,Sb,Sc: REAL; i: INTEGER;

{: REAL }

BEGIN Sa:=0;Sb:=0;Sc:=0; FOR i:=1 TO iStek DO BEGIN

IF Stek[iStek]=a THEN Sa:=Sa+v[i] ELSE

IF Stek[iStek]=b THEN Sb:=Sb+v[i] ELSE Sc:=Sc+v[i];

Dopustim:=(Sa<=C)AND(Sb<=C)AND(Sc<=C) END END

{ } Sa,Sb,Sc. : Sa,Sb,Sc .

 

, , , .

, . " ", , , . , . , , , . , , , , .





:


: 2016-11-18; !; : 607 |


:

:

. .
==> ...

1437 - | 1402 -


© 2015-2024 lektsii.org - -

: 0.02 .