??xml version="1.0" encoding="utf-8" standalone="yes"?>国产亚洲精久久久久久无码AV,亚洲精品国精品久久99热一,久久精品99无色码中文字幕http://www.shnenglu.com/shandongluzi/zh-cnThu, 08 May 2025 21:53:29 GMTThu, 08 May 2025 21:53:29 GMT60C旉函数大全Q{载)http://www.shnenglu.com/shandongluzi/archive/2010/08/20/124111.html岁月?/dc:creator>岁月?/author>Fri, 20 Aug 2010 09:18:00 GMThttp://www.shnenglu.com/shandongluzi/archive/2010/08/20/124111.htmlhttp://www.shnenglu.com/shandongluzi/comments/124111.htmlhttp://www.shnenglu.com/shandongluzi/archive/2010/08/20/124111.html#Feedback0http://www.shnenglu.com/shandongluzi/comments/commentRss/124111.htmlhttp://www.shnenglu.com/shandongluzi/services/trackbacks/124111.html阅读全文

]]>
Winxp下对wireshark-0.99.7~译http://www.shnenglu.com/shandongluzi/archive/2010/03/09/109302.html岁月?/dc:creator>岁月?/author>Tue, 09 Mar 2010 09:24:00 GMThttp://www.shnenglu.com/shandongluzi/archive/2010/03/09/109302.htmlhttp://www.shnenglu.com/shandongluzi/comments/109302.htmlhttp://www.shnenglu.com/shandongluzi/archive/2010/03/09/109302.html#Feedback1http://www.shnenglu.com/shandongluzi/comments/commentRss/109302.htmlhttp://www.shnenglu.com/shandongluzi/services/trackbacks/109302.htmlnmake -f Makefile.nmake verify_tools Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. Checking for required applications: cl: /cygdrive/e/dev/vc6/VC98/BIN/cl link: /cygdrive/e/dev/vc6/VC98/BIN/link nmake: /cygdrive/e/dev/vc6/VC98/BIN/nmake bash: /usr/bin/bash bison: /usr/bin/bison flex: /usr/bin/flex env: /usr/bin/env grep: /usr/bin/grep /usr/bin/find: /usr/bin/find perl: /usr/bin/perl C:/python24/python.exe: /cygdrive/c/python24/python.exe sed: /usr/bin/sed unzip: /usr/bin/unzip wget: /usr/bin/wget ___________________________________________________________________ (6) 输入 nmake -f Makefile.nmake setup 来安装编译所需的库. 如果p|, 请依提示M载正的? (7) 输入 nmake -f Makefile.nmake distclean 来清除源代码中用于在其他q_下编译的文g. (8) 输入 nmake -f Makefile.nmake all 来编译wireshark!!! 我用的机器配|ؓ P4 3.2GHz CPU, 1G RAM, 应该不算很低? 但编译wireshark q是׃g?0分钟的时? 注意: 如果在编译过E中命o行窗口停滞不? 而没有回?C:\wireshark, 不要x?!! 因ؓ此时~译E序正在q行大量的操?如果真有什么错? ~译完后会告诉你? 别以Z机器L? 7. q行~译后的E序 打开 C:\wireshark\wireshark-gtk2 目录, q行其中的wireshark.exe. 怎么?看到 熟悉的界面了? 如果? 贺你编译成?! 马上捕获一个包试试? 打开Help菜单,查看wireshark选项? 看看在版本号那里昄的是不是你自己定义的版本? ?Version 0.99.7-myversion". 下面q显CZ~译时的库和其他一些信?

]]>
如何实现百万人同时在Uƈ保持游戏高效?/title><link>http://www.shnenglu.com/shandongluzi/archive/2009/04/25/81008.html</link><dc:creator>岁月?/dc:creator><author>岁月?/author><pubDate>Sat, 25 Apr 2009 00:48:00 GMT</pubDate><guid>http://www.shnenglu.com/shandongluzi/archive/2009/04/25/81008.html</guid><wfw:comment>http://www.shnenglu.com/shandongluzi/comments/81008.html</wfw:comment><comments>http://www.shnenglu.com/shandongluzi/archive/2009/04/25/81008.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.shnenglu.com/shandongluzi/comments/commentRss/81008.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/shandongluzi/services/trackbacks/81008.html</trackback:ping><description><![CDATA[ 事实上,针对于Q何单一的网l服务器E序Q其可承受的同时q接数目是有理论峰值的Q通过CQ+中对TSocket的定义类型:wordQ我们可以判定这个连接理论峰值是65535Q也是_你的单个服务器程序,最多可以承?万多的用户同时连接。但是,在实际应用中Q能辑ֈ一万h的同时连接ƈ能保证正常的数据交换已经是很不容易了Q通常q个值都?000?000之间Q据说QQ的单台服务器同时q接数目也就是在q个D间?   如果要实?000?000用户的单服务器同时在U,是不隄。在windows下,比较成熟的技术是采用IOCPQ-完成端口。与完成端口相关的资料在|上和CSDN论坛里有很多Q感兴趣的朋友可以自己搜索一下。只要运用得当,一个完成端口服务器是完全可以达?K?K的同时在UK的。但Q?Kq样的数值离百万q样的数值实在相差太大了Q所以,百万人的同时在线是单台服务器肯定无法实现的?   要实现百万h同时在线Q首先要实现一个比较完善的完成端口服务器模型,q个模型要求臛_可以承蝲2K?K的同时在U率Q当Ӟ如果你MONEY多,你也可以只开发出最多允?00人在U的服务器)。在构徏好了基本的完成端口服务器之后Q就是有x务器l的架构设计了。之所以说q是一个服务器l,是因为它l不仅仅只是一台服务器Q也l不仅仅是只有一U类型的服务器?   单地_实现百万人同时在U的服务器模型应该是Q大厅服务器(TMLcenterserver)Q登陆服务器(MainServer)Q房间服务器(Localserver)? 当然Q也可以是其它的模型Q但其基本的思想是一L。下面,我将逐一介绍q三cL务器的各自作用?   登陆服务器:一般情况下Q我们会向玩家开放若q个公开的登陆服务器Q就如QQ登陆时让你选择的从哪个QQ游戏服务器登陆一PQQ登陆时让玩家选择的六个服务器入口实际上就是登陆服务器。登陆服务器主要完成负蝲q的作用。详l点说就是,在登陆服务器的背后,有N个大厅服务器Q登陆服务器只是用于为当前的客户端连接选择其下一步应该连接到哪个大厅服务器,当登陆服务器为当前的客户端连接选择了一个合适的大厅服务器后Q? 客户端开始根据登陆服务器提供的信息连接到相应的大厅上去,同时客户端断开与登陆服务器的连接,为其他玩家客Lq接登陆服务器腾出套接字资源。在设计登陆服务器时Q至应该有以下功能QN个大厅服务器的每一个大厅服务器都要与所有的登陆服务器保持连接,q实时地把本大厅服务器当前的同时在线人数通知l各个登陆服务器Q这其中包括Q用戯入时的同时在Uh数增加信息以及用户退出时的同时在Uh数减信息。这里的各个大厅服务器同时在UhC息就是登陆服务器为客L选择某个大厅让其登陆的依据。D例来_玩家A通过登陆服务?q接到登陆服务器Q登陆服务器开始ؓ当前玩家在众多的大厅服务器中Ҏ哪一个大厅服务器人数比较来选择一个大厅,同时把这个大厅的q接IP和端口发l客LQ客L收到q个IP和端口信息后Q根据这个信息连接到此大厅,同时Q客L断开与登陆服务器之间的连接,q便是用L陆过E中Q在登陆服务器这一块的处理程?   大厅服务器:大厅服务器,是普通玩家看不到的服务器Q它的连接IP和端口信息是登陆服务器通知l客L的。也是_在游戏的本地文g中,具体的大厅服务器q接IP和端口信息是没有保存的。大厅服务器的主要作用是向玩家发送游戏房间列表信息,q些信息包括Q每个游戏房间的cdQ名Uͼ在线人数Q连接地址以及其它如游戏帮助文件URL的信息。从界面上看的话Q大厅服务器是我们输入用户名和密码q校验通过后进入的游戏戉K列表界面。大厅服务器Q主要有以下功能Q一是向当前玩家q播各个游戏戉K在线人数信息Q二是提供游戏的版本以及下蝲地址信息Q三是提供各个游戏房间服务器的连接IP和端口信息;四是提供游戏帮助的URL信息Q五是提供其它游戏辅助功能。但在这众多的功能中Q有一Ҏ最为核心的Q即Qؓ玩家提供q入具体的游戏房间的通道Q让玩家利q入其欲q入的游戏房间。玩家根据各个游戏房间在Uh敎ͼ判定自己q入哪一个房_然后双击服务器列表中的某个游戏房间后玩家开始进入游戏房间服务器?   游戏戉K服务器:游戏戉K服务器,具体地说是如“斗C1”,“斗C2”这L游戏戉K。游戏房间服务器才是具体的负责执行游戏相关逻辑的服务器。这L游戏逻辑分ؓ两大c:一cL通用的游戏房间逻辑Q如Q进入房_d戉KQ进入桌子,d桌子以及在房间内说话{;W二cL游戏桌子逻辑Q这个就是各U不同类型游戏的主要区别之处了,比如斗地M的叫C或不叫地ȝ逻辑{,当然Q游戏桌子逻辑里也包括有通用的各个游戏里都存在的游戏逻辑Q比如在桌子内说话等。MQ游戏房间服务器才是真正负责执行游戏具体逻辑的服务器?   q里提到的三cL务器Q我均采用的是完成端口模型,每个服务器最多连接数目是5000人,但是Q我在游戏房间服务器上作了逻辑层的限定Q最多只允许300人同时在Uѝ其他两个服务器仍然允许最?000人的同时在线。如果按照这Ll构来设计,那么要实现百万h的同时在U就应该是这P首先是大厅,1000000/5000Q?00。也是_臛_?00台大厅服务器Q但通常情况下,考虑到实际用时服务器的处理能力和负载情况,应该臛_准备250台左右的大厅服务器程序。另外,具体的各U类型的游戏戉K服务器需要多,pҎ当前玩各U类型游戏的玩家数目分别计算了,比如斗地L多是十万人同时在U,每台服务器最多允?00人同时在U,那么需要的斗地L务器数目应该不于Q?00000/300=333Q准备得充分一点,p准备350台斗C服务器?    除正常的玩家q接外,q要考虑刎ͼ   对于登陆服务器,会有250台大厅服务器q接到每个登陆服务器上,q是始终都要保持的连接;   而对于大厅服务器而言Q如果仅仅有斗地主这一cȝ服务器,p?50多个q接与各个大厅服务器始终保持着。核心思想是:快地提供用L陆的速度Q尽可能方便地让玩家q入游戏中? <img src ="http://www.shnenglu.com/shandongluzi/aggbug/81008.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/shandongluzi/" target="_blank">岁月?/a> 2009-04-25 08:48 <a href="http://www.shnenglu.com/shandongluzi/archive/2009/04/25/81008.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>树型动态规?/title><link>http://www.shnenglu.com/shandongluzi/archive/2008/10/16/64086.html</link><dc:creator>岁月?/dc:creator><author>岁月?/author><pubDate>Thu, 16 Oct 2008 00:51:00 GMT</pubDate><guid>http://www.shnenglu.com/shandongluzi/archive/2008/10/16/64086.html</guid><wfw:comment>http://www.shnenglu.com/shandongluzi/comments/64086.html</wfw:comment><comments>http://www.shnenglu.com/shandongluzi/archive/2008/10/16/64086.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.shnenglu.com/shandongluzi/comments/commentRss/64086.html</wfw:commentRss><trackback:ping>http://www.shnenglu.com/shandongluzi/services/trackbacks/64086.html</trackback:ping><description><![CDATA[关于传说中的"树型动态规?在讨论题目的时候CC提及q。最q有q找C论文,相当Ȁ动,发现q个东东也比动态规划本w更Ҏ理解?<br><br>先来看一个比较有挑战性的题目Q) <br><br><font style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FILTER: glow(color=#FFCC00,strength=3); PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 1px; HEIGHT: 10px"><strong><wbr></wbr><font color=#000000>战略游戏</font></strong><wbr></wbr></font><wbr></wbr><font color=#000000> <br></font><br><font style="LINE-HEIGHT: 1.3em">Problem </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">Bob喜欢玩电脑游戏,特别是战略游戏。但是他l常无法扑ֈ快速玩q游戏的办法。现在他有个问题?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">他要建立一个古城堡Q城堡中的\形成一|。他要在q棵树的l点上放|最数目的士兵Q得这些士兵能了望到所有的路?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">注意Q某个士兵在一个结点上Ӟ与该l点相连的所有边都可以被了望到?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">请你~一E序Q给定一树,帮Bob计算Z需要放|最的士兵.</font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">Input </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">W一行ؓ一整数Q,表示有݋l测试数?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">每组试数据表示一|Q描q如下: </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">W一?NQ表C树中结点的数目?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">W二行至WN+1行,每行描述每个l点信息Q依ơؓQ该l点标号iQk(后面有k条边与结点I相连)?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">接下来k个数Q分别是每条边的另一个结Ҏ号r1Qr2Q?..Qrk?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">对于一个n(0<n<=1500)个结点的树,l点标号?到n-1之间Q在输入数据中每条边只出Cơ?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">Output </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">输出文g仅包含一个数Qؓ所求的最的士兵数目?/font><wbr></wbr> <br><br>Q-Q-Q-Q-Q-Q-Q-Q-Q?wbr></wbr>Q-Q-Q-Q-Q-Q-Q?<br><br>q个题目?4q高二准备NOIP的时候看到过Q当时打L有想出有效的解决Ҏ。然后就拿着题目去问我们廖老师Q廖老师一拿到题目题目q没看完Q立马给Z解决ҎQ不会考这么难的题。于是这个题目也遗留了下来Q没惛_事隔q么多年以后又重新见识了q个题目Q倍感亲切Q呵呵~?<br><br>q个题目看上L图论Q贪心是明显错误的。用动态规划的思想可以很有效地解决。就看你能不能看出来是动态规划。就像杨潇说的:动态规划这c题Q别Z说就明白Q自己就很难惛_?<br>在给个题目的状态{ULE之前,我们先从更简单的树型动态规划入手,看看其他一些题目?<br><br>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <br>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <br><br><br><font style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FILTER: glow(color=#FFCC00,strength=3); PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 1px; HEIGHT: 10px"><wbr></wbr><font color=#000000><strong>二叉Ҏ?wbr></wbr></strong></font></font><wbr></wbr> <br><br><font style="LINE-HEIGHT: 1.3em">题目 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">有一苹果树Q如果树枝有分叉Q一定是?叉(是说没有只?个儿子的l点Q?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">q棵树共有N个结点(叶子Ҏ者树枝分叉点Q,~号?-N,树根~号一定是1?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">我们用一Ҏ枝两端连接的l点的编h描述一Ҏ枝的位置。下面是一颗有4个树枝的?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">   2   5 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">    \ / </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">     3   4 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">      \ / </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">       1 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">现在q颗树枝条太多了Q需要剪枝。但是一些树枝上长有Ҏ?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">l定需要保留的树枝数量Q求出最多能留住多少Ҏ?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">输入格式 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">W??个数QN和Q(1<=Q<= N,1<N<=100)?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">N表示树的l点敎ͼQ表示要保留的树枝数量。接下来N-1行描q树枝的信息?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">每行3个整敎ͼ前两个是它连接的l点的编受第3个数是这Ҏ枝上Ҏ的数量?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">每根树枝上的Ҏ不超q?0000个?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">输出格式 </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">一个数Q最多能留住的苹果的数量?</font><wbr></wbr><br><br>Q-Q-Q-Q-Q-Q-Q-Q-Q?wbr></wbr>Q-Q-Q-Q-Q-Q-Q?<br><br><strong><wbr></wbr>分析Q?/strong><wbr></wbr>因ؓ树是二叉的,所以状态{ULE很Ҏ写出Q?<br>我们用a[i][j]描述树,f[i][m]表示Wi个节点下Q共保留m个树枝的最大苹果数目?<br><strong><wbr></wbr>方程Q?/strong><wbr></wbr><font style="LINE-HEIGHT: 1.3em">f[i][m]=mas{ f[L][n]+f[m-n-2]+a[i][L]+a[i][ R]} </font><wbr></wbr>0<=n<=m-2 其中L,R为i的左叛_?<br><br><font style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FILTER: glow(color=#FFCC00,strength=3); PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 1px; HEIGHT: 10px"><strong><wbr></wbr><font color=#000000>选课</font></strong><wbr></wbr></font><wbr></wbr> <br><br><font style="LINE-HEIGHT: 1.3em">[问题描述] </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">在大学里每个学生Qؓ了达C定的学分Q必M很多评里选择一些课E来学习Q在评里有些课E必d某些评之前学习Q如高等数学L在其它课E之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课Ea是课Eb的先修课卛_有学完了评aQ才能学习课EbQ。一个学生要从这些课E里选择M门课E学习,问他能获得的最大学分是多少Q?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">输入Q?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">W一行有两个整数N,M用空格隔开?1<=N<=200,1<=M<=150) </font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">接下来的N?WI+1行包含两个整数ki和si, ki表示WI门课的直接先修课Qsi表示WI门课的学分。若ki=0表示没有直接先修课(1<=ki<=N, 1<=si<=20Q?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em">输出Q?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">只有一行,选M门课E的最大得分?/font><wbr></wbr> <br><br>Q-Q-Q-Q-Q-Q-Q-Q-Q?wbr></wbr>Q-Q-Q-Q-Q-Q-Q?<br><br><strong><wbr></wbr>分析Q?/strong><wbr></wbr>q个题目是一个普通的树,关键步骤是把这个普通的树{换ؓ一颗二叉树Qƈ且处理的时候特D处理一下右子树。我自认为普通树转化Z叉树以后很难处理各个节点的辈份关p,但是对于q个题目来说Q如果节?,2,3都是节点0的孩?那么转换后便成了q样: <br>    0                         0             <br>  / |  \       ---->         / <br>1  2  3                  1Q?Q? <br>辈䆾虽然变了Q但是还是有办法处理的?<br><strong><wbr></wbr>方程Q?/strong><wbr></wbr>f[i][k]表示Wi个节点下d选择k门课的最大得分。s[i]表示评i的得分。则 <br><font style="LINE-HEIGHT: 1.3em">f[i][k]=max{ s[i]+f[i.L][j]+f[i.R][k-j-1] , f[i.R][k] }</font><wbr></wbr> (0<=j<k) <br>其中后边那个f[i.R][k]是处理转换Z叉树时的关系的?<br><br>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <br>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> <br><br>看到q里Q树型动态规划应该可以有个初步了解了Q那么我们回到最初的那个题目“战略游戏”?<br><strong><wbr></wbr>分析Q?/strong><wbr></wbr>首先选定一个节点作为根Q然后从叶子向上DPQ对于每个节Ҏ_分别记录它放士兵和不攑֣兵,其子树的最士光|。如果该节点攑֣兵,则不会制U它的子树和父亲Q但是如果不攑֣兵,则会其子树和父亲都会影响。所以在设计动态{ULE的时候要有开阔的思\?<br><strong><wbr></wbr>方程Q?/strong><wbr></wbr>f[v][0],f[v][1]分别表示节点v没有士兵和有士兵Ӟ该子树中最的士兵数。方E分两个 <br><font style="LINE-HEIGHT: 1.3em">f[v][0]={ ∑f[v.Son][1] }</font><wbr></wbr>   //若该节点不放士兵,则它的孩子都攑֣?<br><font style="LINE-HEIGHT: 1.3em">f[v][1]={ ∑min{ f[v.Son][0], f[v.Son][1] }+1 }</font><wbr></wbr>    //若该节点攑֣?则它的孩子可以放士兵也可以不?<br><br>q样问题便完解决了,旉复杂度O(n2) <br><br>下面再来一个题目作为思\扩展,和刚刚的题目cM: <br><br><br><font style="PADDING-RIGHT: 1px; PADDING-LEFT: 1px; FILTER: glow(color=#FFCC00,strength=3); PADDING-BOTTOM: 1px; COLOR: #ffffff; PADDING-TOP: 1px; HEIGHT: 10px"><strong><wbr></wbr><font color=#000000>没有上司的晚?/font></strong><wbr></wbr></font><wbr></wbr> <br><br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>背景</font><wbr></wbr> <br><font style="LINE-HEIGHT: 1.3em">有个公司要D行一场晚会?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">Z能玩得开心,公司领导军_Q如果邀请了某个人,那么一定不会邀请他的上?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">Q上司的上司Q上司的上司的上?#8230;…都可以邀P?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>题目</font><wbr></wbr> <br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>每个参加晚会的h都能为晚会增M些气氛,求一个邀h案,使气氛值的和最大?/font><wbr></wbr> <br><br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>输入格式</font><wbr></wbr> <br><font style="LINE-HEIGHT: 1.3em">W?行一个整数NQ?<=N<=6000Q表C公司的人数?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">接下来N行每行一个整数。第i行的数表C第i个h的气氛值x(-128<=x<=127)?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">接下来每行两个整数LQK。表C第K个h是第L个h的上司?</font><wbr></wbr><br><font style="LINE-HEIGHT: 1.3em">输入? 0l束?/font><wbr></wbr> <br><br><br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>输出格式</font><wbr></wbr> <br><font style="LINE-HEIGHT: 1.3em" face=仿宋_GB2312>一个数Q最大的气氛值和?/font><wbr></wbr> <br> <img src ="http://www.shnenglu.com/shandongluzi/aggbug/64086.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.shnenglu.com/shandongluzi/" target="_blank">岁月?/a> 2008-10-16 08:51 <a href="http://www.shnenglu.com/shandongluzi/archive/2008/10/16/64086.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>1062 Text Reversehttp://www.shnenglu.com/shandongluzi/archive/2008/10/09/63579.html岁月?/dc:creator>岁月?/author>Thu, 09 Oct 2008 11:32:00 GMThttp://www.shnenglu.com/shandongluzi/archive/2008/10/09/63579.htmlhttp://www.shnenglu.com/shandongluzi/comments/63579.htmlhttp://www.shnenglu.com/shandongluzi/archive/2008/10/09/63579.html#Feedback0http://www.shnenglu.com/shandongluzi/comments/commentRss/63579.htmlhttp://www.shnenglu.com/shandongluzi/services/trackbacks/63579.htmlText Reverse Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 1391    Accepted Submission(s): 577


Problem Description
Ignatius likes to write words in reverse way. Given a single line of text which is written by Ignatius, you should reverse all the words and then output them.
 

Input
The input contains several test cases. The first line of the input is a single integer T which is the number of test cases. T test cases follow.
Each test case contains a single line with several words. There will be at most 1000 characters in a line.
 

Output
For each test case, you should output the text which is processed.
 

Sample Input
3
olleh !dlrow
m'I morf .udh
I ekil .mca
 

Sample Output
hello world!
I'm from hdu.
I like acm.
Hint
Remember to use getchar() to read '\n' after the interger T, then you may use gets() to read a line and process it.
 

Author
Ignatius.L
 
#include <stdio.h>
#include <string.h>
int main()
{
    int i=0,n,length,t,j;
    char ch,p[1001],temp;
    scanf("%d",&n);
    ch=getchar();
    while(n--)
    {
        gets(p);
        length=strlen(p);
        t=0;
        for(i=0;i<=length;i++)
        {
            if(p[i]==' '||p[i]=='\0')
            {
               for(j=t;j<(i+t)/2;j++)
            {
                temp=p[j];
                p[j]=p[i-j+t-1];
                p[i-j+t-1]=temp;
            }
            t=i+1;
            }
   
        }   
        printf("%s\n",p);
   
    }
    return 0;
}


]]>
Problem H: Reverse Roman Notationhttp://www.shnenglu.com/shandongluzi/archive/2008/09/23/62626.html岁月?/dc:creator>岁月?/author>Tue, 23 Sep 2008 12:51:00 GMThttp://www.shnenglu.com/shandongluzi/archive/2008/09/23/62626.htmlhttp://www.shnenglu.com/shandongluzi/comments/62626.htmlhttp://www.shnenglu.com/shandongluzi/archive/2008/09/23/62626.html#Feedback0http://www.shnenglu.com/shandongluzi/comments/commentRss/62626.htmlhttp://www.shnenglu.com/shandongluzi/services/trackbacks/62626.html#include <stdio.h>
#include <string.h>
#include <ctype.h>
char * index( const char *s, int c);
/*
** State machine for romantoint
**
**        M       D       C       L       X       V       I
**  0: +1000/0  +500/0  +100/1   +50/0   +10/2    +5/0    +1/3
**  1:  +800/0   --     +100/0   +50/0   +10/2    +5/0    +1/3
**  2:   --      --      +80/0   +30/0   +10/2    +5/0    +1/3
**  3:   --      --      --      --       +8/0    +3/0    +1/3
**
*/

int FromRoman(char *s)
{
    int n=0;
    int prev=0;

    while (*s!=' '&&*s!=NULL) {
        switch (toupper(*s))
        {
            case 'M':   n += 1000 - prev*2;
                        prev=0;
                        break;
            case 'D':   n +=  500 - prev*2;
                        prev=0;
                        break;
            case 'C':   n +=  100;
                        if (prev < 100) n -= 2*prev;
                        prev=100;
                        break;
            case 'L':   n +=   50;
                        if (prev <  50) n -= 2*prev;
                        prev=0;
                        break;
            case 'X':   n +=   10;
                        if (prev <  10) n -= 2*prev;
                        prev=10;
                        break;
            case 'V':   n +=    5;
                        if (prev <   5) n -= 2*prev;
                        prev=0;
                        break;
            case 'I':   n +=    1;
                        prev=1;
                        break;
        }
        s++;
    }
    return n;
}

void PrintRoman(int n)
{

    if (n<=0 || n>4999)
     {
        printf("out of range exception\n");
        return;
    }

    while (n/1000)
    {
        printf("M");
        n -= 1000;
    }

    switch(n/100)
    {
        case 0: break;
        case 1: printf("C");    break;
        case 2: printf("CC");   break;
        case 3: printf("CCC");  break;
        case 4: printf("CD");   break;
        case 5: printf("D");    break;
        case 6: printf("DC");   break;
        case 7: printf("DCC");  break;
        case 8: printf("DCCC"); break;
        case 9: printf("CM");   break;
    }
    n %= 100;

    switch(n/10)
     {
        case 0: break;
        case 1: printf("X");    break;
        case 2: printf("XX");   break;
        case 3: printf("XXX");  break;
        case 4: printf("XL");   break;
        case 5: printf("L");    break;
        case 6: printf("LX");   break;
        case 7: printf("LXX");  break;
        case 8: printf("LXXX"); break;
        case 9: printf("XC");   break;
    }
    n %= 10;
    switch(n) {
        case 0: break;
        case 1: printf("I");    break;
        case 2: printf("II");   break;
        case 3: printf("III");  break;
        case 4: printf("IV");   break;
        case 5: printf("V");    break;
        case 6: printf("VI");   break;
        case 7: printf("VII");  break;
        case 8: printf("VIII"); break;
        case 9: printf("IX");   break;
    }

    printf("\n");
}

#define STACKSIZE 1024
int nitems=0;
int stack[STACKSIZE];

int Pop()
{
    if (!nitems) {
        printf("stack underflow\n");
        return 0;
    }

    return stack[--nitems];
}

void Push(int n)
{
    if (nitems == STACKSIZE-1) {
        printf("stack overflow\n");
        return;
    }

    stack[nitems++] = n;
}


int PrintTop(void)
{
    if (!nitems) {
        printf("stack underflow\n");
        return -1;
    }
    else {
        PrintRoman(stack[nitems-1]);
        return 0;
    }
}

int PerformAdd(void)
{
    int x,y;
    if (nitems < 2) {
        printf("stack underflow\n");
        return -1;
    }

    y = Pop();
    x = Pop();
   
    Push(x+y);

    return 0;
}

int PerformSub(void)
{
    int x,y;
    if (nitems < 2) {
        printf("stack underflow\n");
        return -1;
    }

    y = Pop();
    x = Pop();
   
    Push(x-y);

    return 0;
}

int PerformMul(void)
{
    int x,y;
    if (nitems < 2) {
        printf("stack underflow\n");
        return -1;
    }

    y = Pop();
    x = Pop();
   
    Push(x*y);

    return 0;
}

int PerformDiv(void)
{
    int x,y;
    if (nitems < 2) {
        printf("stack underflow\n");
        return -1;
    }

    y = Pop();
    x = Pop();
   
    if (y!=0)
        Push(x/y);
    else {
        printf("division by zero exception\n");
        Push(x);
    }

    return 0;
}

main()
{
    char line[256];
 //freopen("H.in","r",stdin);
// freopen("H.out","w",stdout);
    while (fgets(line,sizeof(line),stdin)) {
        if (line[0] == '=')
            PrintTop();
        else if (line[0] == '+')
            PerformAdd();
        else if (line[0] == '-')
            PerformSub();
        else if (line[0] == '*')
            PerformMul();
        else if (line[0] == '/')
            PerformDiv();
        else {
            int n = FromRoman(line);
            if (n > 0) {
                Push(n);
            }
        }
    }
}

 



]]>
狼的Dhttp://www.shnenglu.com/shandongluzi/archive/2008/08/14/58811.html岁月?/dc:creator>岁月?/author>Thu, 14 Aug 2008 01:41:00 GMThttp://www.shnenglu.com/shandongluzi/archive/2008/08/14/58811.htmlhttp://www.shnenglu.com/shandongluzi/comments/58811.htmlhttp://www.shnenglu.com/shandongluzi/archive/2008/08/14/58811.html#Feedback0http://www.shnenglu.com/shandongluzi/comments/commentRss/58811.htmlhttp://www.shnenglu.com/shandongluzi/services/trackbacks/58811.html狼的D
  一?nbsp; 卧薪胆( o8 R; y" Z. q& N/ j( F) O
g会ؓ了所谓的严在自己弱时d比自己强大的东西6 I6 F0 h% B4 ?+ N3 y9 v
二?nbsp; 众狼一?font style="FONT-SIZE: 0px; COLOR: #fff">* B, B  Q7 {* e. q  t
如果g得不面对比自己强大的东西Q必v而攻?font style="FONT-SIZE: 0px; COLOR: #fff">- r/ p% G& t# |( p& z7 D
三?nbsp; 自知之明
- F% p/ z$ Y* B+ q  w8 K( Z, k3 ^2 `狼很惛_兽王Q而狼知道自己是狼而不是虎: |4 ?% b  D1 D# Q' ~! a$ b
四?nbsp; 水行舟3 A8 J+ i2 Y  W2 ?& R+ z# O' Q4 a( Y
狼知道如何用最的代h换取最大的回报
2 l& R/ o) O: F" V7 g" ?+ p; P7 o) j五?nbsp; 同进同退
+ r4 K2 h& D2 u; [- |) tD焉常独自zdQ但狼是最团结的,你不会发现哪只狼在同伴受伤时独自逃走% c9 R" d# D, O. p+ L/ g) o
六?nbsp; 表里如一2 ^' f+ j5 h! [7 E& u) h% @
g很想善良Q但狼知道自q胃能消化什么,所以狼每次都干q净净的吃掉每ơ的猎物Q可有些自认?#8220;善良”的动物却在酒店饭庄里做些不是“很善?#8221;的事( w( D& P8 ?8 ~# G' g
七?nbsp; g钟情9 Z, ~( g) G9 R; [$ p- Q
g一直守在怀孕的母狼w边直至狼长大Q可某些自认?#8220;唯一有感?#8221;的动物,却在d怀孕时在外花天酒地
) ]* l) |# B0 z八?nbsp; 授狼以渔
5 Z3 ]! p8 f# {g在小狼有独立能力的时候坚决的d他,因ؓ狼知道,如果当不成狼那就只能当羊9 x1 D% C, G. s! [3 E+ g5 a
九?nbsp; 自由可贵
9 \4 r! x+ q! p' s$ a( ^g会ؓ了食物而不ְ严的向主人摇头摆,因ؓ狼知道,不可有傲气,但决不可无傲?br>  }. C$ N  `. _+ }! t十?nbsp; 重Ҏ
' k+ d! U9 {8 o  n- }- A狼尊重每个对手,狼在每次d前都会去了解ҎQ而不会去轻视他,所以狼一生的d很少p


]]>
޹þþþƷС˵| þþþþҹӰԺ| Ʒһþþþþþվ| www.þ.com| Ʒ91þþþþþa | AvƷþ| þ99ֻƵƷ6| ޾Ʒ˾þþ| þþþþþAv| ƷþþӰ㽶| ޾þˬ˾Ʒ| ޾þһح | 97þù¶Ʒ| ɫۺϾþ| AVպƷþþþþ| LƷþ| av˾þۺɫ| Ʒ˾þþþӰԺ| þѾƷav| պƷþһ| 鶹AVһþ| wwwþ| avҹһƬѿþ| Ӱ7777þþƷˬ| 99ȳ˾ƷѾþ| þŮƷƷ| þݺҹҹ| þù| 뾫Ʒþþþ| ˺ݺۺϾþ88| ˳ɵӰվþ| պ޹ۺϾþþ| þþùƷ | ŷ޾Ʒ˾þԻӰƬ| ˾þô߽ӰԺ95| ޾þþþþ| ޾Ʒþþþþ| AVþþƷݺݰ˳| þþþþþƷͼƬ| þþþþƵ| 69Ʒþþþ9999APGF|