: - .
- . : .
, . .
. . , , - . .
, . .
, . . , . , (). , . , , , . , , () . : . , () .
, - . :
1. , .
2. .
3. . . , Y - () . . .
|
|
. : "" "" , , "" "", . , . , .
, . . , - ( ). , .
, , , . ( - , - ) ( - , ). - ( - , ).
. - , . , , . :
:
: Pop(x,y) - (x,y)
Push(x,y) - (x,y)
_(x,y,col) - col (x,y)
(x,y) - (x,y)
cb -
ci -
(0,y0) -
: ci.
1. :Push(x0,y0).
2. :
:
Pop(x,y);
_(x,y,ci);
3.: xw=x; x=x+1.
4. c(x,y) # cb :
|
|
_(x,y,ci); x=x+1; 5.
5.: xr=x-1; x=xw; x=x-1.
6. c(x,y) # cb : _(x,y,ci);x=x-1; 7.
7. : xl=x+1;
8. , , :
j -1 2 3 :
x=xl; y=y+j;
x <= xr ():
fl="";
(c(x,y)#cb and c(x,y)#ci and x<xr) :
.
(not fl) = "" fl="".
fl="" - :
(x=xr and c(x,y)#cb and c(x,y)#ci) Push(x,y) Push(x-1,y).
fl="".
, : xb=x.
(c(x,y)=cb or c(x,y)=ci and x<xr) x 1. x=xb : x=x+1.
2.
6..
, . , .
:
1. PASCAL , .
2. , GRAPH ( ), , .
3. , , ( , ).
2,3 .
.
4. , , - .
1. ?
2. , , ?
3. ?
4. , , , ?
5. ?
1. , . []: 2 . . 2 / . , . ; . . . ; . . . . . - .: , 1985. - 368c.: .
2. , . . [] / . . ; . . . . .; . . . , . . . - .: , 1989. - 503c.
5. , . . : , . [] / . . , . . . - .: -, 1996. - 287c.: .
6. , . . : [] / . . , . . , . . ; . . . . - .: , 1996. - 176c.: . - ( ).