📄 老鼠走迷官(一).mht
字号:
From: <由 Microsoft Internet Explorer 5 保存>
Subject: =?gb2312?B?wM/K89ffw9S52aOo0rujqQ==?=
Date: Wed, 13 Sep 2006 01:05:48 +0800
MIME-Version: 1.0
Content-Type: multipart/related;
boundary="----=_NextPart_000_0026_01C6D6D0.BFA9B670";
type="text/html"
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1807
This is a multi-part message in MIME format.
------=_NextPart_000_0026_01C6D6D0.BFA9B670
Content-Type: text/html;
charset="big5"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip/MouseGoMaze.htm
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>=A6=D1=B9=AB=A8=AB=B0g=A9x=A1]=A4@=A1^</TITLE>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Dbig5"><LINK=20
href=3D"http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip=
/css/stdlayout.css"=20
type=3Dtext/css rel=3Dstylesheet><LINK=20
href=3D"http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip=
/css/print.css"=20
type=3Dtext/css rel=3Dstylesheet>
<META content=3D"MSHTML 6.00.2800.1561" name=3DGENERATOR></HEAD>
<BODY>
<H3><A=20
href=3D"http://caterpillar.onlyfun.net/Gossip/index.html">http://caterpil=
lar.onlyfun.net/Gossip/index.html</A></H3>
<H1><A=20
href=3D"http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip=
/AlgorithmGossip.htm">Algorithm=20
Gossip: =A6=D1=B9=AB=A8=AB=B0g=A9x=A1]=A4@=A1^</A></H1>
<H2> =BB=A1=A9=FA</H2>=A6=D1=B9=AB=A8=AB=B0g=AEc=ACO=BB=BC=B0j=A8D=B8=
=D1=AA=BA=B0=F2=A5=BB=C3D=AB=AC=A1A=A7=DA=AD=CC=A6b=A4G=BA=FB=B0}=A6C=A4=A4=
=A8=CF=A5=CE2=AA=ED=A5=DC=B0g=AEc=C0=F0=BE=C0=A1A=A8=CF=A5=CE1=A8=D3=AA=ED=
=A5=DC=A6=D1=B9=AB=AA=BA=A6=E6=A8=AB=B8=F4=AE|=A1A=B8=D5=A5H=B5{=A6=A1=A8=
D=A5X=A5=D1=A4J=A4f=A6=DC=A5X=A4f=AA=BA=B8=F4=AE|=A1C<BR>
<H2>=B8=D1=AAk</H2>=A6=D1=B9=AB=AA=BA=A8=AB=AAk=A6=B3=A4W=A1B=A5=AA=A1B=A4=
U=A1B=A5k=A5|=AD=D3=A4=E8=A6V=A1A=A6b=A8C=ABe=B6i=A4@=AE=E6=A4=A7=AB=E1=B4=
N=BF=EF=A4@=AD=D3=A4=E8=A6V=ABe=B6i=A1A=B5L=AAk=ABe=B6i=AE=C9=B0h=A6^=BF=EF=
=BE=DC=A4U=A4@=AD=D3=A5i=ABe=B6i=A4=E8=A6V=A1A=A6p=A6=B9=A6b=B0}=A6C=A4=A4=
=A8=CC=A7=C7=B4=FA=B8=D5=A5|=AD=D3=A4=E8=A6V=A1A=AA=BD=A8=EC=A8=AB=A8=EC=A5=
X=A4f=AC=B0=A4=EE=A1A=B3o=ACO=BB=BC=B0j=AA=BA=B0=F2=A5=BB=C3D=A1A=BD=D0=AA=
=BD=B1=B5=AC=DD=B5{=A6=A1=C0=B3=B4N=A5i=A5H=B2z=B8=D1=A1C=20
<BR><BR>
<H2>=BAt=BA=E2=AAk</H2><PRE>Procedure GO(maze[]) [<BR> VISIT(maze, =
STARTI, STARTJ);<BR>]<BR> <BR>Procedure VISIT(maze[], i, j) [<BR> =
maze[i][j] =3D 1; <BR><BR> IF(i =3D=3D ENDI AND j =3D=3D ENDJ) <BR> =
success =3D TRUE; <BR><BR> IF(success !=3D TRUE AND maze[i][j+1] =
=3D=3D 0)<BR> VISIT(maze, i, j+1); <BR> IF(success !=3D TRUE =
AND maze[i+1][j] =3D=3D 0)<BR> VISIT(maze, i+1, j); <BR> =
IF(success !=3D TRUE AND maze[i][j-1] =3D=3D 0)<BR> VISIT(maze, =
i, j-1); <BR> if(success !=3D TRUE AND maze[i-1][j] =3D=3D 0)<BR> =
VISIT(maze, i-1, j); <BR><BR> IF(success !=3D TRUE) <BR> =
maze[i][j] =3D 0; <BR>] <BR></PRE>
<H2>=B9=EA=A7@</H2>
<UL>
<LI>C </LI></UL><PRE>#include <stdio.h><BR>#include =
<stdlib.h> <BR><BR>int visit(int, int); <BR><BR>int maze[7][7] =3D =
{{2, 2, 2, 2, 2, 2, 2}, <BR> {2, 0, 0, 0, 0, 0, 2}, =
<BR> {2, 0, 2, 0, 2, 0, 2}, <BR> {2, =
0, 0, 2, 0, 2, 2}, <BR> {2, 2, 0, 2, 0, 2, 2}, <BR> =
{2, 0, 0, 0, 0, 0, 2}, <BR> {2, 2, 2, 2, =
2, 2, 2}}; <BR><BR>int startI =3D 1, startJ =3D 1; // =A4J=A4f<BR>int =
endI =3D 5, endJ =3D 5; // =A5X=A4f<BR>int success =3D 0;<BR><BR>int =
main(void) { <BR> int i, j; <BR><BR> =
printf("=C5=E3=A5=DC=B0g=AEc=A1G\n"); <BR> for(i =3D 0; i < 7; =
i++) { <BR> for(j =3D 0; j < 7; j++) <BR> =
if(maze[i][j] =3D=3D 2) <BR> printf("=A2i"); <BR> =
else <BR> printf(" "); <BR> printf("\n"); <BR> =
} <BR><BR> if(visit(startI, startJ) =3D=3D 0)<BR> =
printf("\n=A8S=A6=B3=A7=E4=A8=EC=A5X=A4f=A1I\n"); <BR> else { <BR> =
printf("\n=C5=E3=A5=DC=B8=F4=AE|=A1G\n"); <BR> for(i =3D 0; i =
< 7; i++) { <BR> for(j =3D 0; j < 7; j++) { <BR> =
if(maze[i][j] =3D=3D 2) <BR> printf("=A2i"); =
<BR> else if(maze[i][j] =3D=3D 1) <BR> =
printf("=A1=BA"); <BR> else <BR> =
printf(" "); <BR> } <BR> printf("\n"); <BR> =
} <BR> } <BR><BR> return 0; <BR>} <BR><BR>int visit(int i, int j) =
{ <BR> maze[i][j] =3D 1; <BR><BR> if(i =3D=3D endI && j =
=3D=3D endJ)<BR> success =3D 1; <BR><BR> if(success !=3D 1 =
&& maze[i][j+1] =3D=3D 0) visit(i, j+1); <BR> if(success !=3D =
1 && maze[i+1][j] =3D=3D 0) visit(i+1, j); <BR> if(success =
!=3D 1 && maze[i][j-1] =3D=3D 0) visit(i, j-1); <BR> =
if(success !=3D 1 && maze[i-1][j] =3D=3D 0) visit(i-1, j); =
<BR><BR> if(success !=3D 1) <BR> maze[i][j] =3D 0; <BR> =
<BR> return success; <BR>} <BR></PRE><BR>
<UL>
<LI>Java </LI></UL><PRE>public class Mouse {<BR> private int =
startI, startJ; // =A4J=A4f <BR> private int endI, endJ; // =
=A5X=A4f<BR> private boolean success =3D false;<BR> <BR> public =
static void main(String[] args) {<BR> int[][] maze =3D {{2, 2, 2, =
2, 2, 2, 2}, <BR> {2, 0, 0, 0, 0, 0, 2}, <BR> =
{2, 0, 2, 0, 2, 0, 2}, <BR> =
{2, 0, 0, 2, 0, 2, 2}, <BR> {2, 2, 0, 2, 0, 2, =
2}, <BR> {2, 0, 0, 0, 0, 0, 2}, <BR> =
{2, 2, 2, 2, 2, 2, 2}};<BR> <BR> =
System.out.println("=C5=E3=A5=DC=B0g=AEc=A1G"); <BR> for(int i =
=3D 0; i < maze.length; i++) { <BR> for(int j =3D 0; j =
< maze[0].length; j++) <BR> if(maze[i][j] =3D=3D 2) =
<BR> System.out.print("=A2i"); <BR> =
else <BR> System.out.print(" "); <BR> =
System.out.println(); <BR> }<BR><BR> Mouse mouse =3D new =
Mouse();<BR> mouse.setStart(1, 1);<BR> mouse.setEnd(5, =
5);<BR> <BR> if(!mouse.go(maze)) {<BR> =
System.out.println("\n=A8S=A6=B3=A7=E4=A8=EC=A5X=A4f=A1I");<BR> =
}<BR> else {<BR> =
System.out.println("\n=A7=E4=A8=EC=A5X=A4f=A1I");<BR> for(int =
i =3D 0; i < maze.length; i++) { <BR> for(int j =3D 0; =
j < maze[0].length; j++) { <BR> if(maze[i][j] =
=3D=3D 2) <BR> System.out.print("=A2i"); <BR> =
else if(maze[i][j] =3D=3D 1) <BR> =
System.out.print("=A1=BA"); <BR> else <BR> =
System.out.print(" "); <BR> } <BR> =
System.out.println(); <BR> } <BR> =
}<BR> }<BR> <BR> public void setStart(int i, int j) {<BR> =
this.startI =3D i;<BR> this.startJ =3D j;<BR> }<BR> <BR> =
public void setEnd(int i, int j) {<BR> this.endI =3D i;<BR> =
this.endJ =3D j;<BR> }<BR> <BR> public boolean go(int[][] =
maze) {<BR> return visit(maze, startI, startJ);<BR> }<BR> =
<BR> private boolean visit(int[][] maze, int i, int j) {<BR> =
maze[i][j] =3D 1; <BR><BR> if(i =3D=3D endI && j =3D=3D =
endJ) <BR> success =3D true; <BR><BR> if(!success =
&& maze[i][j+1] =3D=3D 0) <BR> visit(maze, i, j+1); =
<BR> if(!success && maze[i+1][j] =3D=3D 0)<BR> =
visit(maze, i+1, j); <BR> if(!success && maze[i][j-1] =
=3D=3D 0)<BR> visit(maze, i, j-1); <BR> if(!success =
&& maze[i-1][j] =3D=3D 0)<BR> visit(maze, i-1, j); =
<BR><BR> if(!success) <BR> maze[i][j] =3D 0; <BR> =
<BR> return success; <BR> }<BR>} </PRE><BR></BODY></HTML>
------=_NextPart_000_0026_01C6D6D0.BFA9B670
Content-Type: text/css;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip/css/stdlayout.css
UL {
MARGIN-TOP: 3px; MARGIN-BOTTOM: 3px
}
OL {
MARGIN-TOP: 3px; MARGIN-BOTTOM: 3px
}
DL {
MARGIN-TOP: 3px; MARGIN-BOTTOM: 3px
}
.indent {
MARGIN-LEFT: 2em
}
.pagetitle {
FONT-WEIGHT: bold; FONT-SIZE: large; voice-family: inherit
}
.pagetitle A {
COLOR: #2f4f4f; TEXT-DECORATION: none
}
.pagetitle A:active {
COLOR: #2f4f4f; TEXT-DECORATION: none
}
.pagetitle A:link {
COLOR: #2f4f4f; TEXT-DECORATION: none
}
.pagetitle A:visited {
COLOR: #2f4f4f; TEXT-DECORATION: none
}
.pagetitle A:hover {
COLOR: #5f9ea0; TEXT-DECORATION: none
}
.diffbox {
BORDER-RIGHT: #999999 1px solid; BORDER-TOP: #999999 1px solid; =
BORDER-LEFT: #999999 1px solid; BORDER-BOTTOM: #999999 1px solid
}
.diffauthor {
FONT-WEIGHT: bold
}
.difftime {
FONT-SIZE: x-small; FONT-FAMILY: Verdana,Helvetica,Arial,sans-serif; =
BACKGROUND-COLOR: #dddddd; voice-family: inherit
}
.difftype {
CLEAR: both; FONT-WEIGHT: bold; FONT-SIZE: x-small; FONT-FAMILY: =
Verdana,Helvetica,Arial,sans-serif; voice-family: inherit
}
.diffadd {
PADDING-LEFT: 5px; BORDER-LEFT: #99ff99 5px solid
}
.diffdel {
PADDING-LEFT: 5px; BORDER-LEFT: #ffff99 5px solid
}
.diffrestore {
CLEAR: both; FONT-SIZE: x-small; MARGIN: 1.5em 0px; FONT-FAMILY: =
Verdana,Helvetica,Arial,sans-serif; voice-family: inherit
}
TD#wikileft {
VERTICAL-ALIGN: top
}
TD#wikibody {
VERTICAL-ALIGN: top
}
TD#wikiright {
VERTICAL-ALIGN: top
}
A.varlink {
TEXT-DECORATION: none
}
------=_NextPart_000_0026_01C6D6D0.BFA9B670
Content-Type: text/css;
charset="gb2312"
Content-Transfer-Encoding: quoted-printable
Content-Location: http://www.java3z.com/cwbwebhome/article/article3/AlgorithmGossip/css/print.css
BODY {
FONT-SIZE: smaller; WIDTH: auto; COLOR: black; FONT-FAMILY: serif; =
BACKGROUND-COLOR: white
}
#printhead {
BORDER-TOP: #a0a0a0 3px solid; MARGIN-BOTTOM: 1em; BORDER-BOTTOM: =
#a0a0a0 5px solid; FONT-FAMILY: sans-serif
}
#printhead H3 {
MARGIN-TOP: 0px
}
#printhead H1 {
MARGIN-BOTTOM: 0px
}
#printtitle {
=09
}
#printfoot {
BORDER-TOP: #a0a0a0 5px solid; MARGIN-TOP: 1em; FONT-SIZE: smaller
}
PRE {
BORDER-RIGHT: #777777 1px solid; PADDING-RIGHT: 10px; BORDER-TOP: =
#777777 1px solid; PADDING-LEFT: 10px; FONT-WEIGHT: normal; FONT-SIZE: =
small; PADDING-BOTTOM: 0px; MARGIN: 20px 25px; BORDER-LEFT: #777777 1px =
solid; WIDTH: auto; COLOR: #666; LINE-HEIGHT: 150%; PADDING-TOP: 0px; =
BORDER-BOTTOM: #777777 1px solid; BACKGROUND-COLOR: #eee
}
PRE {
MARGIN-TOP: 3px; FONT-SIZE: small; MARGIN-BOTTOM: 3px; COLOR: #333; =
LINE-HEIGHT: 135%; FONT-FAMILY: "Courier New",Courier,monospace; =
voice-family: inherit
}
DT {
PADDING-LEFT: 0.5em; FONT-WEIGHT: bold; BORDER-LEFT: #20b2aa 5px solid
}
DD {
MARGIN-LEFT: 2em
}
H1 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H2 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H3 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H4 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H5 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H6 {
PADDING-RIGHT: 0px; PADDING-LEFT: 10px; FONT-WEIGHT: bold; =
PADDING-BOTTOM: 0.25em; PADDING-TOP: 0.25em
}
H1 {
BORDER-LEFT: 10px solid; BORDER-BOTTOM: 1px solid
}
H2 {
BORDER-LEFT: 10px solid; BORDER-BOTTOM: 1px solid
}
H3 {
BORDER-LEFT: 10px solid; BORDER-BOTTOM: 1px solid
}
H4 {
BORDER-LEFT: 10px solid; BORDER-BOTTOM: 1px solid
}
H1 {
FONT-SIZE: large; BORDER-LEFT-COLOR: #b7841f; BORDER-BOTTOM-COLOR: =
#b7841f; MARGIN: 1.25em 5% 0.5em 0px; COLOR: #b7841f; BORDER-TOP-COLOR: =
#b7841f; BORDER-RIGHT-COLOR: #b7841f; voice-family: inherit
}
H2 {
FONT-SIZE: medium; BORDER-LEFT-COLOR: #060; BORDER-BOTTOM-COLOR: #060; =
MARGIN: 1.25em 15% 0.5em 0px; COLOR: #060; BORDER-TOP-COLOR: #060; =
BORDER-RIGHT-COLOR: #060; voice-family: inherit
}
H3 {
FONT-SIZE: medium; BORDER-LEFT-COLOR: #483d8b; BORDER-BOTTOM-COLOR: =
#483d8b; MARGIN: 1.5em 25% 0.5em 0px; COLOR: #483d8b; BORDER-TOP-COLOR: =
#483d8b; BORDER-RIGHT-COLOR: #483d8b; voice-family: inherit
}
H4 {
FONT-SIZE: small; BORDER-LEFT-COLOR: #696969; BORDER-BOTTOM-COLOR: =
#696969; MARGIN: 1.5em 35% 0.5em 0px; COLOR: #696969; BORDER-TOP-COLOR: =
#696969; BORDER-RIGHT-COLOR: #696969; voice-family: inherit
}
H5 {
FONT-SIZE: small; BORDER-LEFT-COLOR: #060; BORDER-BOTTOM-COLOR: #060; =
MARGIN: 0.5em 0px 0px; COLOR: #060; BORDER-TOP-COLOR: #060; =
BORDER-RIGHT-COLOR: #060; voice-family: inherit
}
H6 {
FONT-SIZE: small; BORDER-LEFT-COLOR: #483d8b; BORDER-BOTTOM-COLOR: =
#483d8b; MARGIN: 0.5em 0px 0px; COLOR: #483d8b; BORDER-TOP-COLOR: =
#483d8b; BORDER-RIGHT-COLOR: #483d8b; voice-family: inherit
}
A:link {
FONT-WEIGHT: bold; COLOR: #444444; TEXT-DECORATION: none
}
A:visited {
FONT-WEIGHT: bold; COLOR: #444444; TEXT-DECORATION: none
}
A.wikilink:hover {
COLOR: #444444; TEXT-DECORATION: underline
}
A.createlink {
COLOR: #444444
}
A.createlink:visited {
COLOR: #444444
}
A.createlink:hover {
COLOR: #ff2222
}
------=_NextPart_000_0026_01C6D6D0.BFA9B670--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -