ࡱ> Root Entry ƱPageMaker  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  `n3ppHQ1'MP2- 88 88 hL   kZ 4&@ } @ Pd 0  @@ L  & ^U N & &4   5 $7 MS  B@ & >  ; G3Ld 26 kZ 3L  1 @ @  @   @} .+@RTFC:\INSTALL\NEW\cd-pasico\BOOKS\SHEN\druk\ 3.rtfB1'LM1')1  9߿ A9߿ AEPSON Stylus COLOR 300EPSON Stylus COLOR 300LPT1:@@xGMMd(xKdddContents^tIndex ,^>;^>^=.^> , C:\PM65\RSRC\USENGLSHxA99ddp-p- db9߿ ..--__ j %#pP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- kmd43pP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- lpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- mpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- npP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- opP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p-!&'()*+!,-./01!234567!89:;<=!>?@ABC!DEFGHI!JKLMNO!PQRSTU! VWXYZ[! \]^_`a! bcdefg! @/@@ "$Times New Roman$Arial"$(xK(xKdddxGMMdHanging indentU(xKddd,GMMdHeadlineU(xKdddGMMdSubhead 1U(xKdddxGMMdSubhead 2 (xKdddxGMMdNormal NoneRegistrationPaperBlackRedGreenBlueCyanMagentaYellowdDAdobe Compatibility CMSAdobe Compatibility CMSPageMaker 5.0 RGB DAdobe Compatibility CMS Adobe Compatibility CMSPageMaker 5.0 CMYKDefaultETIsBLDBhDocument MasterpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p-Document MasterpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p-F?81-6)3 Y%%3Y%%_3Y%%3Y%%Z3Y%%3Y%%3Y%%3Y%%. 3Y%%  Y -@ Y@Y<@lY@YA@YA@YA@<YA@0YA@|YA@hYA@YA@DYA@Y&@P Y@YA@(Y9@Y@YA@<YA@(YA@$YA@8YA@\YA@YA@`YA@Y.@Y@Y;@ Y1@Y@Y@Y@Y@Y@Y@Y@Y@YA@YA@YA@xYA@YA@pY1@dY@YA@TYA@@Y-@Y@Y@Y@&Y@Y@Y;@ Y;@4 Y@Y@Y@Y@Y@Y@Y@Y@Y@YA@Y/@lYA@YA@YA@PY#@ Y@YA@Y=@@Y@YA@Y*@dY@YA@DY'@8Y@Y@ Y@Y@\Y@YA@@YA@YA@YA@Y@Y@Y@Y9@p Y2@P Y@Y@Y@YA@YA@YA@YA@4Y"@` Y@&Y@YA@YA@YA@YA@YA@YA@LYA@YA@<Y@Y@Y@Y@Y@Y@Y@Y@Y@Y@Y@Y@Y@Y!@T Y@Y(@d Y@Y@Y@TY@\Y@Y@Y@`Y@,Y @lY@Y@Y@Y@Y,@ Y)@( Y@Y@Y@p Y@tY@Y1@ Y@4Y @LY#@D Y@Y@&Y(@ Y @xY @Y@Y0@dY@YA@YA@Y)@ Y@Y&@ Y.@X Y&@Y@Y7@XY&@Y'@Y@YA@<Y@YA@YA@4YA@YA@YA@Y4@Y@YA@Y@Y@Y@PY@Y.@ Y/@ Y @Y<@Y @tY9@Y@Y>@DY @Y @Y@Y@Y@ Y@|Y@8YA@YA@DYA@@Y@&Y@Y@YA@ Y/@Y@YA@YA@Y@(Y2@ Y0@ Y"@Y2@X YA@ Y@(Y/@PY5@(Y#@ Y@Y(@d Y @Y@Y@Y@\Y@TY@Y@Y@Y@,Y @Y@Y@Y@Y@Y,@ Y.@Y@Y@Y@p Y@Y@Y2@Y@4Y @Y#@D Y@Y(@ Y @xY @Y@Y2@Y@&Y@YA@YA@4YA@YA@DY%@ Y@YA@YA@YA@Y9@Y@Y@ Y@Y(@d Y @Y@Y@Y@\Y@TY@Y@Y@Y@,Y @Y@Y@Y@Y@Y,@ Y.@Y@Y@Y@p Y@Y@Y2@Y@4Y @Y#@D Y@Y(@ Y @xY@Y @Y@Y<@Y@YA@YA@hY@&YA@,Y @YA@dYA@Y@Y@YA@YA@YA@YA@`YA@\Y@$ Y@Y@Y@Y@Y@Y@Y@Y*@ Y @0Y@Y @Y@Y7@tY"@Y @0Y@DY@Y@Y@Y=@Y@Y,@, Y:@d Y@Y @Y@Y @4Y @Y@Y*@0 Y @0Y'@ Y @Y@Y-@ Y @0Y*@ Y @Y@&Y2@xY@Y+@ Y @0Y@LY @Y@Y!@ Y@ Y@Y@Y @Y@Y@Y@Y@`Y @Y@Y@$Y@ Y@Y @Y@Y!@ Y@Y @0Y+@ Y!@TY,@Y @Y@HY @4Y @Y@Y0@Y @0Y@Y @0Y @Y @xY @Y@Y@Y@Y@Y@Y@Y@Y @Y@Y@&Y@Y @4Y @Y@Y@YA@|YA@DYA@YA@YA@DYA@Y @dY@YA@YA@xYA@YA@`Y*@ Y@Y*@ Y@YA@<YA@ YA@YA@Y7@Y@YA@YA@LYA@Y@PY@YA@YA@YA@(YA@@YA@YA@YA@hYA@pYA@YA@YA@YA@@YA@8Y@@Y@YA@YA@<Y!@ Y@&Y@YA@YA@\Y@Y@YA@YA@YA@YA@Y@Y@Y@Y 3. . . 3.1. , : : A. : A - A ( ). , - . , , backtracking. - . 3.1.1. n - n n, . . , n - . k- ( k = 0, 1,...,n) k k (- ). : 0-, k- n (k+1)-. n - (k+1)- . , - : , . n = 2 n-, - . - . , : - k- , . , , . , k- , . - . n = 3 : (1) - (2) . . - , , ( - ). : _ ( ) ( ) ( - ) _ , - , _, _, _ ( , ). , , . ! , - (, , _ ). - . - . . : , . ( , - , , .) () - , () - - . : procedure ____ | {: (), : ()} begin | {: } | while _ do begin | | _ | end | {, } | ; | {} end; : : , : , {} ____ {: } while _ do begin | if _ then begin {, } | | ; | | {} | | ____; | end else begin | | {, _, _} | | ; | end; end; {, => } ( , , - ): (1) {, _} (2) {} _ {} {} (3) {_, } (4) { _, } {} {} 3.1.2. , ( ). . _ ( ). - , , - , . , . . ( . .) 3.1.3. - : var state: (WL, WLU); state := WL; while _ or (state <> WLU) do begin | if (state = WL) and _ then begin | | ; | end else if (state = WL) and not _ then begin | | ; state := WLU; | end else if (state = WLU) and _ then begin | | ; state := WL; | end else begin {state = WLU, not _, _} | | ; | end; end; . : state = WL => state = WLU => : , , state , . 3.1.4. , , ( ). . x - . y . y. : () x (y x); () x (y x); () x (y x); () x (y x); , x (). : () ; () , . : procedure ____ | {: (), : ()} begin | {: } | while _ do begin | | | | _ | end | {, } | ; | {} end; : : , : , {} ____ {: } while _ do begin | if _ then begin {, } | | ; | | {} | | ____; | end else begin | | {, _, _} | | ; | end; end; {, => } 3.1.5. - , . , , , - : , ? ( - .) . , ( , ). , - , - . : procedure ____ | {: (), : ()} begin | {: } | while _ do begin | | | | _ | end | {, } | ; | {} end; : : , : , {} ____ {: } while _ do begin | if _ then begin {, } | | ; | | {} | | ____; | end else begin | | {, _, _} | | ; | | ; | end; end; {, => } 3.1.6. , - . ( , - - .) . - , - . . k: 0..n ( ) - c: array [1..n] of 1..n (c [i] - i- ; i > k c [i] ). - , ( , ). program queens; | const n = ...; | var | k: 0..n; | c: array [1..n] of 1..n; | | procedure begin_work; { } | begin | | k := 0; | end; | | function danger: boolean; { } | | var b: boolean; i: integer; | begin | | if k <= 1 then begin | | | danger := false; | | end else begin | | | b := false; i := 1; | | | {b <=> < i} | | | while i <> k do begin | | | | b := b or (c[i]=c[k]) {} | | | | or (abs(c[[i]-c[k]))=abs(i-k)); {} | | | | i := i+ 1; | | | end; | | | danger := b; | | end; | end; | | function is_up: boolean {_} | begin | | is_up := (k < n) and not danger; | end; | | function is_right: boolean {_} | begin | | is_right := (k > 0) and (c[k] < n); | end; | { : k=0 c[k]} | | function is_down: boolean {_} | begin | | is_up := (k > 0); | end; | | procedure up; {_} | begin {k < n} | | k := k + 1; | | c [k] := 1; | end; | | procedure right; {} | begin {k > 0, c[k] < n} | | c [k] := c [k] + 1; | end; | | procedure down; {} | begin {k > 0} | | k := k - 1; | end; | | procedure work; {} | | var i: integer; | begin | | if (k = n) and not danger then begin | | | for i := 1 to n do begin | | | | write (<, i, , , c[i], > ); | | | end; | | | writeln; | | end; | end; | | procedure UW; {____} | begin | | while is_up do begin | | | up; | | end | | work; | end; | begin | begin_work; | UW; | while is_down do begin | | if is_right then begin | | | right; | | | UW; | | end else begin | | | down; | | end; | end; end. 3.1.7. _ (, , n). - , _// - , n . . , - , ( - ). (, .). 3.2. . 3.2.1. - : n a[1]..a[n] s; , s a. ( .) . k- k , , a[1]..a[k] . , s. . (2 - n) . - a , , , s. . ( , , NP-, . , - ). - ( s , a[1]..a[n]). . 7 ( ) , n+s. 3.2.2. n , - , ( XX). 3.2.3. , ( XXX). . ( , - , - ). . m8PGMMd8 (xKddd80dPC ..RTF Y   B  xY3xGMMd(xKdddY   @ xY4xGMMd(xKdddY   @ xY5xGMMd(xKdddY  @ xY6xGMMd(xKdddY  @ xY7xGMMd(xKdddY  @ xY8xGMMd(xKdddY  @ xY9xGMMd(xKdddY  @ Y10xGMMd(xKdddY  P Y11xGMMd(xKdddY  @ Y12xGMMd(xKdddY  @ Y13xGMMd(xKddd 7-%7   q-%[ 2   g.  7-%./+N   q--   . N  q-%/  7- % F[-{  7-%9-2 q-%   q-%".{ N 7-%[,{ @ @%%@ &00*.*((.@/.1o1dddxGMMdBody text(xKddddGMMdCaption  @  @     @    @     @     @   @  @     @    @     @     @   @  @     @@Root Entry`PageMaker !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     PragmaticaCTTSchoolBookSigns"TextBook"Time RomanTimes NR Cyr MTUkrainianTextBook"UkrainianTimesETUnivers Condensed Cyr"Univers Cyr"Xenia"XeniaCondensed"XeniaExtended"Baskerville Win95BTZurich Win95BT"Academy HoAcademy ItalicAdverGothic HoAdverGothicCamC"AG_Benguiat"AG_CenturyOldStyle"AG_Cooper"AG_Futura"AG_Garamond"AG_Helvetica"AG_Souvenir"AG_University"AGAvantGardeCyr"AGBengalyAGBenguiatCyr-Bold"AGBenguiatCyr"AGCooperCyr"AGCrownStyleAGHelveticaCyr"AGKorneliaAGOptimaCyr-Bold"AGOptimaCyr"AGOpusAGPresquireAGReverence-Oblique"AGRevueCyr"AGRevueCyr-Roman"AksentAmbassadoreTypeAmerican-Uncial-NormalAntiqua HoAntiqua HWAntiqua-BoldArbat-BoldArtScript"BabyTeetBaskerville_A.Z_PSBauhaus-HeavyBauhausHeavyCRBenguiat"BernhardBetina ScriptBetinaScript"BetinaScriptC"BodoniCameoC"BodoniCameoCTTBodoniCondCTTBodoniCTTBoyarsky"Breeze"BroadwayBroadway-NormalBrushScriptRBrushType-SemiBoldBrushType-SemiBold-ItalicBruskovaya Compressed"Bruskovaya"Caslon"Chicago"Classic Russian"Compact-BoldCooper"CorridaCorridaC"$$$$$Cougel"CourDLCourierCourtierC1CricketCricketHeavyCricket-LightCrystalCyrillicChancellorCyrillicCooperCyrillicGaramondCyrillicGothCyrillicHeavyCyrillicHoverCyrillicOldCyrillicRevueCyrillicRibbonCyrillicUniversityDG_AachenDG_AachenOutlineDG_HeroldDG_KabelDG_MasterCardDG_PumpDG_RoslynGothicDG_SerpentineDG_SinaloaDG_SlipstreamDG_UnbraDomkrat"ElectronEncyclopaedia"Erika"ErikaC"EuropeEurope_ExtEverest-DemiEverest-UltraFiestaFixHelvDLFlowerFlowerCFreeSet-BoldFreestyleCFutura Condensed"FuturaEugenia HoFuturaLight"FuturaPress"FuturisCameoC"FuturisExtraC"FuturisShadowCFuturisVolumeC"FuturisXCondCGalsGals-Light Garamond Narrow"Garamondcond-BoldGaramondcond-Bold-ItalicGaramondcond-LightGaramondcond-Light-ItalicGaramondCTTGazeta SansSerif"Gazeta Titul"Geneva"GoudyOld"Grad"Granit"GymnasiaCompressed"HeliosCondHeliosCondLightHelvCondenced"HelvDLHelvetica_Condenced-NormalHelvetica_Light-NormalHermesHeroldInformC"IzhitsaC"IzhitsaCTTJournal SansSerif"JournalSansKabel"KabelCTT BookKabelCTT MediumKabelCTT Ultra$!$$Kaliakra"KarinaCRKladez"KorinnaKudrashov"Kudrashov SansSerif"KursivCRLazurskiCTTLazursky"Lidia"Literaturnaya"Megen"MetroMicraMinionMinionCyr-ItalicMinionCyr-RegularMistralMonoCondensedMonoCondensedC"MontblancMurmanskFWFMysl Narrow"MyslCTTNew Journal"New York"New_ZelekNewBaskervilleNewtonC"NewtonXC"NTCourierVK/CyrillicNTHelvetica/CyrillicNTTimes/CyrillicOdessaScriptFWFOlga"Hair Hair-2PalatinoPalatino-BoldPalatino-Bold-ItalicPalatino-NormalPalatino-Normal-ItalicPark AvenuePasma"PeignotPentaPenta-LightPetersburgCTTPG_Didona_Cyr"PragmaticaPragmaticaCondCPragmaticaShado"PragmaticaShadowCPragmaticaShadowCTTPresentScriptPrestigePrestige-NormalProunProunXQuant Antiqua"QuantAntiquaC"Respect"Respect Narrow"RodeoRodeoExtraBoldRodeoExtraBoldCameoRodeoLightRoscherkDLRubicSchool"SchoolBookC"SchoolBookCTTSchoolDLSkazkaForSergeSlavjanicStandardPoster"StandardPosterC"TaurusTaurusHeavyTaurus-LightTenseCTextBookC"TimesDLTimesETTorhok"TraktirTraktirCUniCyrillic"UniversityUniversityCUsual New"Vanta Black"Vanta Bold"Vanta Light"Vanta Medium"Vanta Thin"VeronaVetren"ViolaVremyaFWFXenia-BoldXeniaC"XeniaCameoC"XeniaCondensedC"XeniaExtended-BoldXeniaExtendedC"XeniaWesternC"Zapf ChanceC"Zapf Chancery"ZapfChanceryAlbertus Extra Bold CE"Albertus Medium CE"Antique Olive CE"CG Times CECoronet CEBLetter Gothic CE1Univers Condensed CE"Univers CE"Allegro BTRAmerType Md BTAvantGarde Md BT"AvantGarde Bk BT"Benguiat Bk BTBernhardFashion BTRBernhardMod BTBankGothic Md BT"Bremen Bd BTRCharlesworthRCopprplGoth Bd BT"DauphinFutura Md BT"FuturaBlack BTRFutura Lt BT"Futura XBlk BT"GoudyHandtooled BTRGoudyOlSt BTHumanst521 BT"Kabel Bk BT"Kabel Ult BT"LithographLithographLightROzHandicraft BTBPosterBodoni BTSerifa BTSerifa Th BTSouvenir Lt BTStaccato222 BTBSwiss911 XCm BT"TypoUpright BTBZapfEllipt BTZurich Ex BT"Zurich BlkEx BT"Copperplate Gothic Bold"Copperplate Gothic Light"MathSoftTextGeniusTTF1GeniusTIL1Zrial"UkrainianBalticaMonotype SortsMap SymbolsComic Sans MSBMS OutlookArial Narrow"MT ExtraHaettenschweiler"Bookman Old StyleGaramondImpact"Arial Cyr"%Times New Roman%Arial"%System"Fixedsys!Terminal!MS SerifMS Sans Serif"SymbolSmall Fonts"Tms Rmn CyrStylus Helv CE"Stylus Helv"PROMT Helv Cyr"Aldus Palette Font"AdobeSmMarlettArial Greek"Arial CE"Courier New1Courier New Greek1Courier New CE1Courier New Cyr1Times New Roman GreekTimes New Roman CETimes New Roman CyrWingdingsArial Black"Verdana"Arial Rounded MT Bold"AlgerianRDesdemonaRKino MTRWide LatinMatura MT Script CapitalsBMS LineDraw1Tempus Sans ITCRTahoma"WebdingsWingdings 2Wingdings 3Academy"AdverGothic"Antiqua"Antique Olive Cyr"ArbatArtistRAstra"Baltica"Bodoni"BrushTypeBusorama Md BTRChance"CommonBullets"Compact"CondensCourierCTTCY MultiCY Multi SansDecor"Decor CyrillicDixielandFoxPrint1FrankensteinFreeSet"FuturaEugenia"FuturisFuturisExtra"GeographicSymbolsRGeometr231 BT"Geometr231 Hv BT"Geometr231 Lt BT"GreekMathSymbolsInformCTTIzhitsaJikharev"Journal"Kudriashov"Kudriashov CyrillicLazurovyLazurski"Lazurski CyrillicLetter Gothic Cyr1MusicalSymbolsMyslUUU@%UDTcp-%[ 2   g.  DAdobe Compatibility CMSAdobe Compatibility CMSPageMaker 5.0 RGB DAdobe Compatibility CMS Adobe Compatibility CMSPageMaker 5.0 CMYK@ @%%@ &00*.*((.@.1o1o/p/-t- @v @w     $<@$   @     @   @  @     @    @     @     @   @  @     @    @     @     @   @  @     @@@  `n3ppHQ1'MP2- 88 88 hL   kZ 4&@ } @ Pd 0  @@ L  & ^U N & &4   5 $7 MS  B@ & >  ; G3Ld 26 kZ 3L  1 @ @  @   @} .+@RTFC:\INSTALL\NEW\cd-pasico\BOOKS\SHEN\druk\ 3.rtfB1'LM1')1  9߿ A9߿ AEPSON Stylus COLOR 300EPSON Stylus COLOR 300LPT1:@@xGMMd(xKdddContents^tIndex ,^>;^>^=.^> , C:\PM65\RSRC\USENGLSHxA99ddp-p- db9߿ ..--__ j %#pP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- kmd43pP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- lpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- mpP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- npP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p- opP\ )arlL޶H޶`d޶Ԉpl)arlnZ])arLZ])arp-p-!&'()*+!,-./01!234567!89:;<=!>?@ABC!DEFGHI!JKLMNO!PQRSTU! VWXYZ[! \]^_`a! bcdefg! @/@@ "$Times New Roman$Arial"$(xKdddxGMMdBody text(xKddddGMMdCaptiono/p/-t- @v @w     $<@$   @     @   @  @     @    @     @     @   @  @     @    @     @     @   @  @     @@NTCourierVKNTHarmonicaNTTierceParsek"PeterburgPragmabold