|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Comoderator Of Ru Algorithms 2:5002/46.4 10 Apr 2003 07:59:52 To : All Subject : faq --------------------------------------------------------------------------------
06 쟁� 03 12:18, Mike Galushkin wrote to ilya voronin:
=== H成贍� q_01-10.txt ===
旼컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴커
� �
널軫奄� 壯 妬增� 裔菴循諺酷 脣�p前� 惟臟�p孼打� RU.ALGORITHM � NICE.SOURCES�
� �
� 煖增設嶢言�: Alexander Dedusenko [2:462/42] �
� Dmitry Pryadkin [2:5010/207.3],�
� polox@chel.ru �
읕컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴켸
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
較愉泓酷 脣穽前�:
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
!Q1. 잼莘鳥嫉 渟釣灑調 蓴嶪 惟藺妖惺僥 茁蚓鏑荻 增尊孺 悚� 尿禎蟻吾循杖�
釣有猝僚.
厥夭円陝猥: 述 溢蓮鎭 裔菴循潗 脣穽前� 穽�溢 � netmail: 2:5010/207.3
堯� e-mail: polox@chel.ru. 퇸泣 佺� 修涯� 調烝孼孼� 魏� 禎埃雪筬陷� 禎�
鎭茵震有 瘡暹陝裝� 惟臟儼孼打�, 桎 佺� 修涯� 盾誼特裝 � 菴牆渾 楫尿適.
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
嬌乙瞬孼猥 (剪橓特牆酷 脣穽前�):
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q1. 춥� 壯煜� 裔菴婆 禎 �p謫p閃麟p荻陝療.
Q2. 燐� 診惟� 欠p尿震特仲僥 禎尿�.
Q3. 燐� 診惟� "吾依桎� 遵特杖�".
Q4. 燐� 診惟� 惟張杷酷 設桎茵執.
Q5. 間� 渟p億嚴震 婆衆� 了 袍增壯隘城�p料狀� 茁增諺� � 鴨��震杷y� (Asm)
Q6. Dec2Hex (悚� 謫p陝料孼�� 壯 旬賊夭赤 婆衆�)?
Q7. 間� 禎增p迪潗 乙訟p妖�?
Q8. 잼莘p嶢� 了翟p剡孼�� 泣杖�
Q9. 잼莘p嶢� QSort
Q10. 잼莘p嶢� 櫛p震p荻孺 魅應�
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q1. 춥� 壯煜� 裔菴婆 禎 �p謫p閃麟p荻陝療?
A. Many peoples
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
http://acm.gui.uva.es/problemset/
http://gsu.unibel.by -> 禎尿� -> p嚴yp證 inet -> 鏑夭炡雪�
http://dl.gsu.unibel.by - T閃 禎p�殃� 500 裔菴�.
http://informatics.vspu.kirov.ru/anton
http://bytic.ttk.ru
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q2. 燐� 診惟� 欠p尿震特仲僥 禎尿�?
A. (Serv Ponomarev 2:5020/1564.7)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
�y潗 欠p尿震特仲謫� 禎尿魏 - 櫛�p晟孼猥 婆衆� 渟p齬�p齧荏� 循p歪粧荻 悚�
禎鎭p� 魏特增循 p予孼��, 頌說賊�p� 櫛鴨p縯緘栯� � 裔菴特 哀禎鷹嶢言茴迹
妖切p茵打�.
� �p夭�py, �p� 裔菴特 �p適乙殃� �p城妬橒憶� 茵p�py診 靭輦y 桎把閃�,
禎哀殺迹 妖切p茵打彦 溢蓮� �瞬�秩� p葉增��杖� 禎 �p�溢� 剪 鎭�y緘� 桎把� 哀
淸杖胞. �.�. 惟p展� �p�溢莘 �y潗 �p鏑跡孼 岫潗 張 溢蓮�, 桎 憙� p葉增��杖�
溢悅� 重言� y婆執循潗 �p� 渟p齬�p�, 張 全葉��贈 禎鎭p� 全震茵蟻狀莘 p予孼��.
� 鎭�p僚, 禎尿� 前y緘增瞬�奄�� 禎 鴨p億y 櫛增��杖� (軸�� 壯 �p蟾震劉 憙�
妬增� 張 診�). 及仲p泓� 橓p鋪�y - 午成嶢 禎增p迪潗 蓴� 脣傲跡裝� 渟p嶪賊� 了
菴牆謫� 櫛增��杖�.
匕p尿震特仲僥 禎尿� 禎譽鏑�奄 全p抑言嶢�, 魏�y� 了 張p葉�p泓紅 橓p鋪�
衆抑y奄 p葉�p泓� 渟p脣�, 菴岫 y靭贓鋪潗 翟緘� 婆衆� 渟p齬�p齧荏� 循p歪粧荻.
쾰� 憙謫� 秧� 魏輦迹 橓p鋪裝 全p抑言�奄�� 午成孼猥 欠p尿震特仲迹 �y檣打� �
p葉�p顥齧秩� 橓p鋪壯, 夭廬咸� 麟杖茵蟻狀� 午成孼猥 (嚴泣 診孺� 橓p鋪�
張仲鏑獪�, 述訟p齧秩� 診, 破� 頌畏� � 惟p長).
匕p尿震特仲�� �y檣打� 禎魏晤循奄 麟杖茵蟻狀� 惟泣特增脣 p嚴yp櫛� (�p諺孼�,
p葉增��杖�...), 張翟軸怏荏� 秧� 哀增畏孼�� 淸杖胞. 絞� 櫛增迪� 了 壓y�
衆說齧荏�: y蓮 裔�p成孼裝� p嚴yp櫛� � 專孼孺 桎莘, 仲鏑獪� p嚴yp櫛� 余�
�p巍奄�� 禎�p城嶢�.
퇸泣 專孼魏 �p抑增��陷� 裔�p城 �瞬�奄�� 增p謫迹 杖悅彦 �p陝擾彦 秧�
p魚蟻裝� 裔�p城 禎 哀增畏孼療 淸杖胞, 桎 診惟� 贍莘p嶢� 蓴憶菴 �y鴨� �p外賊嶢�
� 全震茵蟻狀�y p予孼療.
찌梧靭� � �p夭�py �p陝楫�p帙y� 裔菴�y: 菴� 壯�p設音牆渾 �p宬 裔�p城 壯
渟p億蹟孺 靭輦y 莘p賊閃�, 菴裝 禎�p齬狀增� 魏輦謫� 莘p賊� � 壯袍� 桎循p�,
�p尿y秩軫y奄 �p陝楫剪p狀� �p抑增脣, p暹脣��緘� 桎循p. H雪� 壯煜� �p齧攸�p療,
麟杖麟預py��y� 裔�p城� 禎 �p迹鴨牆佃y �p陝楫�p帙忽 �p抑增脣� p葉增��杖�.
煤� 1: 及葺�p顥齧� 惟p孼�. 淃 蓴諺 哀p謫閃, 巍y陷� 了 仲乙菴 剪�p設��諺
�p陝楫�p帙赤 �p抑增脣, 裔�py蓮牆赤 禎� 裔��伍y. 煖剪橓秩軫孼狀 禎�y妬諺
惟泣特增脣 橓p鋪�, p設狀� 惟泣特增�y 哀p謫. 쾰� 魏輦迹 橓p鋪裝 y蓮 了橓增裝
裔�p城� 禎 檍 哀增畏孼療. �p陝楫�p帙赤 �p抑增脣 渟p憶py縯奄 竣迹 �py� � 莘p賊,
哀 禎鷹謫� 壯證緘杖� 佺謫�.
煤� 2: 膠p抑言�諺 p葉�p顥齧�y� 橓p鋪�y. 膠p抑言夭 �p抑增��陷� 裔�p城� 魏�:
麟杖茵蟻壯� 秧妖壯 哀p謫� 了 菴牆謫� 莘p賊� + 2*max(壯夭孼孝�� 秧妖壯 哀p謫� 剪
仲乙菴 | p葉增��杖� 剪 仲乙菴 哀 頌畏纖袍莘 張翟衆y蓮牆謫� 莘p賊�)*(頌畏纖袍�
墮依�, 灑蟻袍� (p暹杖稱 靭輦y �y壹�p狀� 禎�p齬狀增淆 蓴嶪 莘p賊荻 � 惟泣特增脣�
�py裔 � �p陝楫�p帙佃 �p抑增橓)/(�py吾禎縊諺狀增� �p. �p抑增循))). 毘� 專孼魏
�瞬�奄�� 增p謫迹 杖悅彦 �p陝擾彦 p魚蟻裝� 裔�p城. 枏嶢齧� 欠p尿震�y, 全p抑言�諺
麟杖�y�.
煤� 3: 及仲p顥齧� 述�p陝�y� 橓p鋪�y. �p� 憙佃 診唯� p葉�p顥齧秩� �y潗,
巍y陷� 翟p城狀 � 仲乙�y, 菴蓮 嚴泣 �p. �p抑增脣 張 �y增赤. 쾰� 憙謫� �y震
張翟軸怏溢 禎鷹前潗� 渟p嚴婆診潗 y蓮 壯惟町孼裝� 裔�p城�, 菴岫 �p陝楫�p桎�
�p抑增脣 脣譽p晟贍前� 壯 仲乙� �y增忽 (毘� � 衆y妬� 全震麟裔打� 張 禎
�p迹鴨牆佃y �y震, � 禎 增迪溢增� �p謫佺� � �.�.). 퇸泣 �p陝楫�p帙赤 �p抑增脣
�y增赤, 蓴� p設狀 p葉�p顥筬秩� 蓴� 哀p謫�. 행�p城� 禎 哀增畏孼療 狀述� 橓p鋪�
p設裝 �y壹� 裔�p城 禎 哀增畏孼療 p賊嶢言劃惟� 橓p鋪裝 � 增迪溢增� 渟p憶佺� 剪
p賊嶢言劃惟莘 莘p賊�. 행�p城� 禎 哀增畏孼療 橓p鋪裝 - 憙� 裔�p城� 禎 哀增畏孼療
櫛增��杖�, 全尿顥齧溢莘 憙迹 橓p鋪狀�.
煤� 4: 퇸泣 余� 張 蓴� 莘p賊� 翟衆y蓮裝, GOTO 2. 퇸泣 蓴� 莘p賊� 翟衆y蓮裝
桎 �y悅� 橓p�y潗 �p. �p抑增脣 壯 仲乙�. 쾰� 憙謫� 裔靭��諺 專孼�y �p抑增��陷�
裔�p城 壯 p葉增��杖� 禎 �p�溢� 哀 仲乙菴 � 楫適迹狀 p予齧� 裔菴�y 壯軸輦孼��
�p城妬橒憶� �y震 (裔靭壯 �p迪譽賊嶢�� 桎蟻惟 秧� 橓p鋪�, 惟桎p酷 y蓮 翟衆y鍊泣
蓴� 莘p賊�. �p展猥 橓p鋪裝 甑嶢筬秩� 禎 增�p佃y). 퇸泣 �p. �p抑增脣 壯 仲乙鴨 -
荏 壯幅� 全震茵蟻裝� 茵p�py�.
煤� 5: 及譽�p成外�� �y潗 剪 壯藕孼狀� 全震茵蟻狀� 橓p鋪裝 壯橓p�, 哀 惟p��,
禎�y婆� 全震茵蟻�y� �p齧攸�p療.
�y�, 禎p� 仲暹城� 檉py 衆荻 � 述灑p� 欠p尿震特仲迹 �y檣打�. 匕p. �y檣打� -
診 �y檣打�, 禎 惟桎p迹 甑嶢筬秩� �p抑增��陷� 裔�p城�. 間� y蓮 莘脣p堯前�, 佺�
哀飮壯 岫潗 增p謫迹 杖悅彦 �p陝擾彦 p魚蟻裝� 裔�p城, 嚴泣 �p齬y奄�� 禎�y婆潗
全震�y�.
痢� 頌畏� 專孼魏 �p抑增��陷� 裔�p城 禎艾賊嶢 � p魚蟻裝� 裔�p城閃, 鎭�
茁蟻張� 欠p尿震特仲�� �y檣打�, �.�. 鎭� 靭贓袍 禎�p齬y奄�� p葉�p顥城� 橓p鋪�
秧� 哀增畏孼�� p予孼��.
� 桎�, 魏�y� 惟檣p奄狀 �y檣打� 衆抑y奄 �p夭孼�潗 � 魏輦迹 惟檣p奄狀�
裔菴特, 衆抑y奄 �y茵潗, 尿軸�� 了 哀禎鷹嶢言茴紅 菴牆紅, 櫛鴨p縯陷椿� � 裔菴特.
H涉p夭�p, � �p外抑孼狀� �p夭�p� � py惟脣愛軫荻贍�� 衆抑y�緘� 哀禎鷹嶢言茴迹
妖切p茵打彦:
- 經杖茵蟻裝� �y潗, 惟桎p渾 衆抑y奄 �p賊言城� �p. �p抑增�y, 菴岫
禎孺�y潗 鎭�y陷� 莘p賊, p設孼 秧妖張 焌溢� 惟p剪惟� 哀p謫� 了 憙謫� 莘p賊�.
- � 衆y妬�, 嚴泣 裔�py伍� �p. �p抑增循 張 騶城嶢, 破�-岫 y哀瞬奄脣p嶢�
禎�p齬狀增� 蓴嶪 莘p賊荻, �p巍奄�� 莘��潗 �p. �p抑增脣 壯 仲乙�, � 禎桎� 壯
張翟衆y蓮牆酷 莘p賊�. 經杖茵蟻狀� 婆衆� 診孺� �p謫佺荻 p設狀 頌畏纖袍�y 墮依�y,
灑蟻袍�y p暹杖濯 靭輦y �y壹�p狀� 禎�p齬狀增淆 莘p賊荻 � 鎭�y陷� 裔�py吾� �p.
�p抑增循, 禎鴨音牆迹 壯 禎鷹y� �py吾禎縊諺狀增� �p. �p抑增循.
- 쾰� 前y緘增瞬孼�� 診惟莘 �p謫佺� 張翟軸怏溢 哀�p城劃� 櫛 仲乙菴 哀
頌畏纖袍莘 張翟衆y蓮牆謫� 莘p賊�, � 禎桎� 全�潗 橓p�y潗�� 壯 仲乙�.
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q3. 燐� 診惟� "吾依桎� 遵特杖�" ?
A. (Viktor Dorogov 2:5020/1456.11)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
흡謫菴 �p撓賊嶢�� 壯軸怏潗 桎把y 僖增p諺y茵 張惟桎p迹 �y檣打�, 述婆衆��
午成孼�� 憙迹 �y檣打� � p暹裝� 桎把性 剪p偃魏 � �p設杖循� 撓 靭輦y 櫛灑�,
桎嚴潗 靭桎哀� 禎尿魏. 狡暹顥齧秩�, 破� � 全震茵蟻狀� 贍莘p嶢靭 禎尿魏
�p齬y奄�� 述訟p城� 桎把� 秧� 述婆衆孼僥 診�, 破翟� 佺� p魚泣吾循泣 "吾依桎�
遵特杖�" 剪p偃惟�, 惟桎p酷 禎�瞬��秩� � �p專嚴遵 p予孼��.
"헨依桎� 遵特杖�" - 楫前翟 p暹鴨泣潗 剪p偃適 AB 壯 壓� 張p設裝� 妬增�
桎把迹 X 診�, 破翟� 述禎鷹�依贈 y衆荻猥 AX/XB = XB/AB.
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q4. 燐� 診惟� 惟張杷酷 設桎茵執.
A. (George Potapoff gopher@glasnet.ru)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
嵌張杷渾 設桎茵� 溢悅� �p抑增設嶢� � 淳鴨 診頌擾�
+----+------------------------------------+
| | 煖增��杖� |
+ +-----+-----+-------------+-----+
| | q1 | q2 | ........ | qn |
+----+----+-----+-----+-------------+-----+
| � | c1 |qn1,c|qn2,c| | |
| � +----+-----+-----+-------------+-----+
| � | c2 | | | | |
| � +----+-----+-----+-------------+-----+
| � | . | . . . . . . . . |
| � +----+-----+-------------------+-----+
| | cn | | | |
+----+----+-----+-------------------+-----+
헉嚴� 煖增��杖� --- 櫛增��杖�, � 惟桎p佃 壯軸怏秩� 設桎茵� � 溢靭粧
�p展嶢顥陝�� 展�p抑狀莘 茁蚓鏑�, 酪蚓鏑 --- 茁蚓鏑, 惟桎p渾 甑嶢顥齧�
設桎茵�. H� 渟p嚴円孼僚 � 幽奄劉 裔炡焌狀 狀脣� 櫛增��杖�, � 惟桎p赤
哀飮孼 渟p彦震 設桎茵�, � 鴨栯軫猥, 惟桎p赤 佺 哀飮孼 述禎鷹嶢� ---
翟訌狀, 憙� 壯渟妬診潗 魏惟� 泣灑 茁蚓鏑.
H涉p夭�p, 壯哀 p暹翟p城� 巍孼震淸魏桎p � 鎭揄鎭 �p謫p閃荏:
id ::= <�y侑�>{打�p�|�y侑�}
(壯婆壯奄�� � �y侑�, 菴音� 巍奄 �p迪譽鏑茴�� 重嚴� �y侑 � 打�p,
適陝婆循奄��, 嚴泣 蓴�p奄堯�� 張 �y侑孼狀打�p荻迹 茁蚓鏑)
잡桎茵� �y鴨� �p夭�p狀 診惟�:
+-------------------+
| 煖增��杖� |
+---------+---------+
| Start | Ident |
+--+---+---------+---------+
|C | � | | |
|� | y | Ident, | Ident, |
|� | � |<nothing>|<nothing>|
|� | � | | |
|� | � | | |
|� +---+---------+---------+
| | � | | |
| | � | | Ident, |
| | � | |<nothing>|
| | p | | |
| | � | | |
| +---+---------+---------+
| | � | | |
| | p | | Start, |
| | y | |<裔張增� |
| | � | | 狀脣� |
| | � | | 夭� � |
| | � | | 診頌擾y>|
+--+---+---------+---------+
卵抑y奄 裔靭震潗, 破� <�y侑�>, <打�p�> � <�py莘�> --- 憙� � 翟緘�
衆y妬� 張 賊壯 �特隅�, � 日謫� (�.�. 筍嚴桎 <�y侑�> 壯哀 禎愛診淳潗
a,b,c,d,e... � �.�., 筍嚴桎 <打�p�> -- 1,2,3,4,5,6,7,8,9,0, 筍嚴桎
<�py莘�> --- 蓴� 前診蟻狀�)
�p謫p閃麟py奄�� 憙� 哀脣蟻狀 音神�. � 翟緘� 衆y妬�:
/* 全p抑言�諺 惟章診粧� 翟蹟壯妬�陷� 櫛增��杖� */
#define STATE_1 1
#define STATE_2 2
....
#define STATE_N N
int state; /* 醴嚴� �p陝嶢�� 壯袍 鎭�y緘� 櫛增��杖� */
char symbol; /* 憙� 茁蚓鏑, 惟桎p渾 荏 甑嶢贍� */
..
main() {
FILE * input;
..
input = fopen("Input_file");
/* 前狀純迹 贍莘p嶢� p暹灑p� */
while(! feof(input) ) {
c = fgetc(input);
switch (state) { /* 述訟p齧� �y悅y� 惟依檣y 煖增��杖� */
case STATE_1:
switch(c) { /* 述訟p齧� �y悅y� 增p適y 酪蚓鏑 */
case 'a':
do_some_action(); /* 述禎鷹�諺 鴨栯軫猥, 裔炡焌牆赤 �
幽奄劉 診頌擾� */
state = STATE_2; /* 渟p嶪賊夭 � 狀脣� 櫛增��杖� */
break;
case 'b':
...
} /* end switch */
case STATE_2:
...
} /* end switch */
} /* end while */
fclose(input);
..
} /* end main */
툼� 溢悅� p魚泣吾循潗 � 淳鴨 診頌擾� y魏裔鎭音� 壯 �y檣打� � �.�.
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q5. 間� 岫增p� 渟p億嚴震 婆衆� 了 袍增壯隘城�p料狀� 茁增諺� � 鴨��震杷y�?
A. (George Yohng 2:454/1.68)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
;醇賊: AL == 渟p述� 茁蚓鏑 (憶� 惟�)
; AH == 蕣�p迹 茁蚓鏑
;
;述軸�: AL == 婆衆� (蓀煜)
;
c2byte proc
sub ax,3030h
cmp al,9
jbe @cont1
sub al,7
@cont1:
cmp ah,9
jbe @cont2
sub ah,7
@cont2:
xchg ah,al
shl ah,4
add al,ah
ret
c2byte endp
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q6. Dec2Hex (悚� 謫p陝料孼�� 壯 旬賊夭赤 婆衆�)?
A. (Akzhan Abdulin 2:5040/55)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
function dec2hex(value: dword): string[8];
const
hexdigit = '0123456789ABCDEF';
begin
while value <> 0 do
begin
dec2hex := hexdigit[succ(value and $F)];
value := value shr 4;
end;
if dec2hex = '' then dec2hex := '0';
end;
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q7. 間� 禎增p迪潗 乙訟p妖�?
A. (Mitya Dorogoj 2:5000/54.4)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
FullFill - 壯 櫛蟻惟 町剪狀 裔禎鷹�潗 乙訟p妖� (鴨乙潗 泣 軸應�).
WallShort- 壯 仲鏑獪� 惟p剪孺� 哀飮裝 岫潗 增孼� 0 - 賊杖 惟依牆�.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
const int size = 20;
const int fullfill = 100; // in %
const int wallshort= 50; // in %
char m[size+1][size+1];
// Random generator
int r[2][size/2*size/2];
int h; // How many number in array;
void initrandom ()
{
int j=0;
for (int y=2; y<size; y+=2)
for (int x=2; x< size; x+=2)
{
r[0][j] = x; r[1][j] = y; j++;
}
h=j-1;
}
int getrandom(int &x, int &y)
{
int i = random (h);
x = r[0][i]; y = r[1][i];
r[0][i] = r[0][h]; r[1][i] = r[1][h];
return h--;
}
// View labirint on screen
void view()
{
for (int y=0; y<=size; y++)
for (int x=0; x<=size; x++)
{
gotoxy (x*2+1,y+1);
if (m[y][x]==0) cprintf ("..");
if (m[y][x]==1) cprintf ("栢");
}
}
int main(void)
{
printf ("\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\Labirint generator");
// Clear labirint
for (int c = 0; c < size*size; c++) ((char *)m)[c] = 0;
// Make border
for (int i = 0; i <= size; i++)
{
m[0][i] = 1; m[size][i] = 1;
m[i][0] = 1; m[i][size] = 1;
}
view ();
initrandom();
int startx, starty;
while (getrandom (startx, starty))
{
if (m[starty][startx]==1) continue;
if (random (100) > fullfill) continue;
int sx=0,sy=0;
do
{
sx=random (3)-1;
sy=random (3)-1;
} while (sx==0 && sy==0 || sx!=0 && sy!=0); //sx==0 and sy==0
while (m[starty][startx]==0)
{
if (random (100) > wallshort)
{m[starty][startx] = 1; break;}
m[starty][startx] = 1;
startx +=sx; starty+=sy;
m[starty][startx] = 1;
startx +=sx; starty+=sy;
}
}
view();
return 0;
}
+ Origin: [Team 記國] (2:462/42)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
Q8. 잼莘p嶢� 了翟p剡孼�� 泣杖�
A1. (Alexander Kharkovsky 2:4624/8.147)
컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴컴
H殲灑音� 翟陷� 靭桎� 了翟p剡孼�� 泣杖� 盾誼妬奄
--- GoldED+/386 1.1.4.7
* Origin: 찔몰嵬�� 愉佃� 鄭몃,軸�� 鄭몃�,嚴泣禎涯茵潗,桎蓮 淸臣� (2:5002/46.4)
쭤存寀劃� � 楫尿有 鎭�, 櫛倧寮荻陝裝� 禎: 脣嗚葉診杖� 菴執 脹孼孝孼猥 菴執 鎭茵 設桎�
쟈筑純赤 /ru.algorithms/143013e9532bf.html, 專孼魏 了 5, 莘依櫛� 10
|