锘??xml version="1.0" encoding="utf-8" standalone="yes"?>韩国福利一区,国内精品久久久久久久果冻传媒,欧美视频在线不卡http://m.shnenglu.com/luyulaile/category/11048.htmlI canzh-cnFri, 18 Nov 2011 06:13:24 GMTFri, 18 Nov 2011 06:13:24 GMT60闀挎槬璧㈤紟鏁欒偛鍏徃 鍘熸槸浼犻攢鏈烘瀯http://m.shnenglu.com/luyulaile/archive/2011/05/01/145469.htmlluisluisSun, 01 May 2011 10:31:00 GMThttp://m.shnenglu.com/luyulaile/archive/2011/05/01/145469.htmlhttp://m.shnenglu.com/luyulaile/comments/145469.htmlhttp://m.shnenglu.com/luyulaile/archive/2011/05/01/145469.html#Feedback3http://m.shnenglu.com/luyulaile/comments/commentRss/145469.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/145469.html闀挎槬璧㈤紟鏁欒偛鍏徃闀挎槬璧㈤紟鏁欒偛鍏徃 鍘熸槸浼犻攢鏈烘瀯
http://www.szxkd.com/a/infos/2010/0728/42578.html
榪戞棩錛岃鑰呰幏鎮(zhèn)夛紝涓璧蜂互鏁欒偛涓哄熷彛鐨勪紶閿鍥綋錛屽湪闀挎槬閫愭笎鎵╁ぇ銆?span class=Apple-converted-space> 

銆銆鍖椾含璧㈤紟鏁欒偛鏈烘瀯闀挎槬鍒嗗叕鍙革紝瀹為檯涓婃槸闀挎槬璧㈤紟鏁欒偛鍏徃錛岃鍏徃鎸傜潃鍖椾含鐨勫悕鍙鳳紝鍦ㄩ暱鏄ュ悇澶ч珮鏍★紝浠ュぇ閲忕殑“楂樿柂姹傝亴”涓鴻瀵鹼紝璇卞瀛︾敓涓浜虹即綰充細(xì)鍛樿垂錛?480鍏冿紝浼?xì)鍛樿垂缂淳U蟲棤紼庢敹鍙戠エ錛屽彧鏈夋敹鎹傜幇鍦ㄨ鍥㈤槦鍚哥撼鐨勪細(xì)鍛樻暟閫愭笎鎵╁ぇ錛岄璁¤揪涓夊崈浜恒?span class=Apple-converted-space> 
銆銆鐪肩潄鐫佺湅鐫榪欎釜浼犻攢鍥㈤槦鍦ㄩ暱鏄ュ悇澶ч珮鏍℃粙鐢熻敁寤訛紝璁拌呰繘鍏ヨ鍥㈤槦榪涜浜嗘殫璁胯皟鏌ュ緱鐭ヤ竴浜涙儏鍐碉細(xì) 
銆銆涓銆佽鍏徃鍦ㄦ病鏈夋彁渚涘疄璐ㄦт笟鍔℃垨鏈嶅姟鎯呭喌涓嬶紝浠ュ彂灞曚漢鍛樻暟閲忎負(fù)涓昏緇忔祹鏉ユ簮錛?span class=Apple-converted-space> 
銆銆浜屻佷互瀹d紶“楂樿柂鑱屽満”鎴栨壙璇?#8220;鎺ㄨ崘瀛︾敓榪涘叆500寮轟紒涓氬伐浣?#8221;涓鴻楗碉紝閲囧彇闈炴硶闆嗕細(xì)錛屽閥绔嬪悕鐩垨浠ヤ駭鍝佸彉鐩告敹鍙栦笉絳変環(huán)銆佷笉瀹㈣鐨勮垂鐢ㄨ繘琛岄潪娉曢泦璧勶紱 http:/// 
銆銆涓夈佷互鎻愪緵姹傝亴闈㈣瘯鏈嶅姟錛?00寮哄叕鍙窰R涓庡ぇ瀛︾敓闈㈠闈紝浼?xì)鍛樻湁鏈轰細(xì)鑾峰緱鍘婚娓梾娓稿Q屾墜鏈猴紝鐢?shù)鑴戜负骞屽瓙锛屼粠浜嬮泦璧勮瘓楠椊{夎繚娉曠姱緗殑鍟嗕笟嬈鴻瘓錛岀敤嬈洪獥鎵嬫鐢氳嚦涓嶆柇媧楄剳璇卞榪涜浜ゆ槗鐨勬暃璐㈣涓猴紱 
銆銆1銆佽鍏徃鍙風(fēng)О緇欏鐢熷瀛愪滑鎺ㄨ崘500寮哄伐浣溿傚叾瀹炰笉鏄紝鏄瀵煎墠鎻愶紝鑰屾墍璋撶殑宸ヤ綔錛屾槸緇欎粬浠満鏋勫仛鍏嶈垂鐨勫疄涔?fàn)鐢熴?span class=Apple-converted-space> 
銆銆2銆佽鍏徃浠昏鑰佸笀鍏ㄩ儴涓嶆槸姝h澶у姣曚笟鐨勶紝鑰屾槸涓浜涙病鏈夋瑙勫鍘嗚儗鏅殑涓漢銆傚叾涓彿縐板叏鐞冭亴涓氳鍒掑笀鐨勶紝鍏跺疄鍙槸鍖栧甯堬紙鏁欑ぜ浠艦璞★級錛屾垨鑰呮湁鐨勫彿縐板叏鐞冭亴涓氫紒涓氶珮綰х鐞嗕漢錛屽叾瀹炴槸涓嶇煡鍚嶅崟浣嶆煇浜哄姏緇忕悊銆?span class=Apple-converted-space> 
銆銆3銆佷互楂樿柂鏁欒偛涓鴻瀵肩偣錛屽獎鍝嶅湪鏍″鐢熶滑姝e父涓婅錛岀敋鑷崇繕璇撅紝涓嶅弬鍔犳櫄鑷範(fàn)絳夛紝鎷間簡鍛戒篃瑕佸幓涓婁粬浠殑璇俱?span class=Apple-converted-space> 
4銆佹墍鏈夋姤鍚嶈垂鍏ㄦ棤紼庢敹鍙戠エ銆?span class=Apple-converted-space> 
銆銆5銆佽鍥㈤槦鎵鏈夊伐浣滀漢錛屽叏閮ㄤ互鍥㈤槦绔炰簤涓烘ā寮忥細(xì)浜掔浉姣旇緝姣忎竴鏈熻紼嬨佸摢涓緇?#8220;蹇芥?zhèn)?#8221;鐨勫鐢熸渶澶氾紝騫朵粠涓彁鎴愶紝璋佸拷鎮(zhèn)犵殑瀛︾敓鏈澶氾紝璋佺殑鎻愭垚鏈楂樸?span class=Apple-converted-space> 
銆銆6銆佸鏋滀氦浜嗕細(xì)鍛樿垂錛屽氨緇濆涓嶅彲鑳藉啀閫璐廣?span class=Apple-converted-space> 
銆銆7銆佹垜浠繕鏈夊垢浠庤鏈烘瀯涓鍚嶅憳宸ュ彛涓緱鐭ワ細(xì)璇ユ満鏋勭粍緇囪呭鍛樺伐鐨勬壙璇烘槸錛氫簤鍙?012騫達(dá)紝鎴戜滑鍦ㄧ撼鏂揪鍏嬩笂甯傘傝繕鎵胯錛氬勾搴曞皢榪涘啗鍖椾含錛屼紭縐鐨勫憳宸ワ紝灝嗚繘鍐涘悇澶х渷甯傚綋浠g悊澶勬昏礋璐d漢銆傝屽疄闄呮槸錛岃鏈烘瀯鍙滄棤杈滅殑鍛樺伐錛屼粠鏃╀笂7鐐瑰幓涓婄彮錛屾櫄涓?0鐐規(guī)墠涓嬬彮銆備竴涓湀鍙湁1澶╃殑浼戞伅鏃ャ備簲涓鍔犵彮鍏徃鏍規(guī)湰涓嶇粰鍔犵彮璐廣備竴涓湀宸ヨ祫鍙湁1000鍏冦傝屽憳宸ョ殑鎻愭垚錛屽叕鍙鎬篃鏈夊悇縐嶅熷彛鎵d笅銆傚紑濮嬭鐨勬槸鎸烘縺鍔變漢錛岀幇鍦虹殑瀛╁瓙浠兘琚劅鏌撲簡銆傚緢鏄庢樉錛岄兘鏄簺澶т竴澶т簩鐨勫瀛愶紝鍒氳繘澶у銆傚鑱屽満鏍規(guī)湰涓嶄簡瑙o紝浠栦滑璁茬殑榪欎簺鑰佸鐨勪笢瑗匡紝瀵瑰ぇ涓澶т簩鐨勫瀛愬氨璧峰埌涓涓瀵肩殑鏁堟灉銆?span class=Apple-converted-space> 
銆 鍏徃姣忎竴嬈℃墍璋撶殑鍏嶈垂瀹f垬涔嬪悗錛屽鐢熶滑灝辮琚瀵煎弬鍔犱粬浠殑浼?xì)鍛樿瘎〃嬨傛瘡涓涓細(xì)鍛樹氦璐逛竴鍗冨銆傚彿縐板彲浠ョ粰瀛╁瓙浠帹鑽?00寮哄伐浣滃疄涔?fàn)鏈轰細(xì)锛屾垨鑰呯粰瀛╁瓙浠帹鑽愬伐浣滅瓑絳夈傚疄闄呬笂鏄湁鎺ㄨ崘宸ヤ綔浜嗭細(xì)緇欎粬浠耽榧庡綋鍏嶈垂鐨勫姵鍔ㄥ姏銆?span class=Apple-converted-space> 
銆銆褰撲粬浠璁茬粨鏉熷悗闂粬浠殑鑰佸笀錛氫負(fù)浠涔堟葷粰澶т竴澶т簩瀛╁瓙璁茶錛屼篃緇欏ぇ涓夊ぇ鍥涚殑瀛╁瓙璁茶鑱屽満鍢涖傝佸笀鐨勫洖絳旇璁拌呮劅鍒板緢鍚冩儕錛氬ぇ涓夊ぇ鍥涚殑涓嶅ソ媧楄剳銆?span class=Apple-converted-space> 
銆銆闅忓悗錛岃鑰呯數(shù)璇濊嚦璇ュ叕鍙鎬簡瑙e叾鐩稿叧鎯呭喌錛屽綋璁拌呴棶璧瘋鍏徃鐨勭粡钀ヨ寖鍥存槸浠涔堟椂錛屽叕鍙稿唴閮ㄤ漢鍛樺嵈絳斾笉涓婃潵錛屽茍涓斿惁璁ゆ湁浼犻攢鎬ц川鐨勬椿鍔ㄣ?span class=Apple-converted-space> 
銆銆璁拌呰仈緋誨埌璇ュ叕鍙告硶浜轟唬琛紝娉曚漢涓鍙e惁璁ゅ叕鍙哥殑浼犻攢鎬ц川錛屽茍璇存湁鍚勫ぇ瀛︾殑鑱樹功涓鴻瘉錛岃岃鑰呮墍瑙佺殑璇ュ叕鍙哥殑钀ヤ笟鎵х収騫朵笉瑙勮寖錛屾病鏈夋敞鏄庡叕鍙哥粡钀ヨ寖鍥淬?span class=Apple-converted-space> 
銆銆姝ゅ悗錛岃鑰呭啀鎯充簡瑙d竴浜涚浉鍏蟲儏鍐碉紝騫惰鏌ヨ鐩稿叧鏀惰垂璁稿彲璇佸強鏀惰垂鏍囧噯鏃訛紝鍏徃瀵規(guī)柟涓嶆帴鐢?shù)璇濆Q屽叕鍙告硶浜轟篃鎷掓帴鍥為伩銆?span class=Apple-converted-space> 
銆銆闀挎槬璧㈤紟鏁欒偛鍏徃闀挎槬璧㈤紟鏁欒偛鍏徃 鍘熸槸浼犻攢鏈烘瀯!

luis 2011-05-01 18:31 鍙戣〃璇勮
]]>
鍩轟簬Socket鐨刄DP鍜孴CP緙栫▼浠嬬粛 http://m.shnenglu.com/luyulaile/archive/2010/09/12/126443.htmlluisluisSun, 12 Sep 2010 02:41:00 GMThttp://m.shnenglu.com/luyulaile/archive/2010/09/12/126443.htmlhttp://m.shnenglu.com/luyulaile/comments/126443.htmlhttp://m.shnenglu.com/luyulaile/archive/2010/09/12/126443.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/126443.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/126443.html 鍩轟簬Socket鐨刄DP鍜孴CP緙栫▼浠嬬粛
杞笘鑷細(xì)apps.hi.baidu.com/share/detail/8484629
涓銆佹榪?

銆銆TCP錛堜紶杈撴帶鍒跺崗璁級鍜孶DP錛堢敤鎴鋒暟鎹姤鍗忚鏄綉緇滀綋緋葷粨鏋凾CP/IP妯″瀷涓紶杈撳眰涓灞備腑鐨勪袱涓笉鍚岀殑閫氫俊鍗忚銆?/span>

銆銆TCP錛氫紶杈撴帶鍒跺崗璁紝涓縐嶉潰鍚戣繛鎺ョ殑鍗忚錛岀粰鐢ㄦ埛榪涚▼鎻愪緵鍙潬鐨勫叏鍙屽伐鐨勫瓧鑺傛祦錛孴CP濂楁帴鍙f槸瀛楄妭嫻佸鎺ュ彛(stream socket)鐨勪竴縐嶃?/span>

銆銆UDP錛氱敤鎴鋒暟鎹姤鍗忚銆俇DP鏄竴縐嶆棤榪炴帴鍗忚銆俇DP濂楁帴鍙f槸鏁版嵁鎶ュ鎺ュ彛(datagram socket)鐨勪竴縐嶃?/span>

銆銆浜屻乀CP鍜孶DP浠嬬粛

銆銆1錛夊熀鏈琓CP瀹㈡埛鈥旀湇鍔″櫒紼嬪簭璁捐鍩烘湰妗嗘灦

 

銆銆璇存槑錛氾紙涓夎礬鎻℃墜錛?/span>

銆銆1.瀹㈡埛绔彂閫佷竴涓猄YN孌碉紙鍚屾搴忓彿錛夋寚鏄庡鎴鋒墦綆楄繛鎺ョ殑鏈嶅姟鍣ㄧ鍙o紝浠ュ強鍒濆鍖栧簭鍙?ISN) 銆?/span>

銆銆2.鏈嶅姟鍣ㄥ彂鍥炲寘鍚湇鍔″櫒鐨勫垵濮嬪簭鍙風(fēng)殑SYN鎶ユ枃孌典綔涓哄簲絳斻傚悓鏃訛紝灝嗙‘璁ゅ簭鍙?ACK)璁劇疆涓哄鎴風(fēng)殑ISN鍔?浠ュ瀹㈡埛鐨凷YN 鎶ユ枃孌佃繘琛岀‘璁ゃ備竴涓猄YN灝嗗崰鐢ㄤ竴涓簭鍙楓?/span>

銆銆3.瀹㈡埛蹇呴』灝嗙‘璁ゅ簭鍙瘋緗負(fù)鏈嶅姟鍣ㄧ殑ISN鍔?浠ュ鏈嶅姟鍣ㄧ殑SYN鎶ユ枃孌佃繘琛岀‘璁ゃ?/span>

銆銆2) 鍩烘湰TCP瀹㈡埛鈥旀湇鍔″櫒紼嬪簭璁捐鍩烘湰妗嗘灦嫻佺▼鍥?br>

 

銆銆3) UDP鍜孴CP鐨勫姣旓細(xì)

銆銆浠庝笂闈㈢殑嫻佺▼鍥炬瘮杈冩垜浠彲浠ュ緢鏄庢樉鐨勭湅鍑篣DP娌℃湁涓夋鎻℃墜榪囩▼銆?br>

銆銆綆鍗曠偣璇淬俇DP澶勭悊鐨勭粏鑺傛瘮TCP灝戙俇DP涓嶈兘淇濊瘉娑堟伅琚紶閫佸埌錛堝畠涔熸姤鍛婃秷鎭病鏈変紶閫佸埌錛夌洰鐨勫湴銆俇DP涔熶笉淇濊瘉鏁版嵁鍖呯殑浼犻侀『搴忋俇DP鎶婃暟鎹彂鍑哄幓鍚庡彧鑳藉笇鏈涘畠鑳藉鎶佃揪鐩殑鍦般?/span>

銆銆TCP浼樼己鐐癸細(xì)

銆銆浼樼偣錛?/span>

銆銆1錛嶵CP鎻愪緵浠ヨ鍙殑鏂瑰紡鏄懼紡鍦板垱寤哄拰緇堟榪炴帴銆?/span>

銆銆2錛嶵CP淇濊瘉鍙潬鐨勩侀『搴忕殑錛堟暟鎹寘浠ュ彂閫佺殑欏哄簭鎺ユ敹錛変互鍙婁笉浼?xì)閲嶅鐨勬暟鎹紶杈撱?/span>

銆銆3錛嶵CP澶勭悊嫻佹帶鍒躲?/span>

銆銆4錛庡厑璁告暟鎹紭鍏?/span>

銆銆5錛庡鏋滄暟鎹病鏈変紶閫佸埌錛屽垯TCP濂楁帴鍙h繑鍥炰竴涓嚭閿欑姸鎬佹潯浠躲?/span>

銆銆6錛嶵CP閫氳繃淇濇寔榪炵畫騫跺皢鏁版嵁鍧楀垎鎴愭洿灝忕殑鍒嗙墖鏉ュ鐞嗗ぇ鏁版嵁鍧椼傗旀棤闇紼嬪簭鍛樼煡閬?/span>

銆銆緙虹偣錛?TCP鍦ㄨ漿縐繪暟鎹椂蹇呴』鍒涘緩錛堝茍淇濇寔錛変竴涓繛鎺ャ傝繖涓繛鎺ョ粰閫氫俊榪涚▼澧炲姞浜嗗紑閿錛岃瀹冩瘮UDP閫熷害瑕佹參銆?/span>

銆銆UDP浼樼己鐐癸細(xì)

銆銆1錛嶶DP涓嶈姹備繚鎸佷竴涓繛鎺?/span>

銆銆2錛嶶DP娌℃湁鍥犳帴鏀舵柟璁ゅ彲鏀跺埌鏁版嵁鍖咃紙鎴栬呭綋鏁版嵁鍖呮病鏈夋紜姷杈捐岃嚜鍔ㄩ噸浼狅級鑰屽甫鏉ョ殑寮閿銆?/span>

銆銆3錛庤璁DP鐨勭洰鐨勬槸鐢ㄤ簬鐭簲鐢ㄥ拰鎺у埗娑堟伅

銆銆4錛庡湪涓涓暟鎹寘榪炴帴涓涓暟鎹寘鐨勫熀紜涓婏紝UDP瑕佹眰鐨勭綉緇滃甫瀹芥瘮TDP鏇村皬銆?/span>

銆銆涓夈丼ocket緙栫▼

銆銆Socket鎺ュ彛鏄疶CP/IP緗戠粶鐨凙PI錛孲ocket鎺ュ彛瀹氫箟浜嗚澶氬嚱鏁版垨渚嬬▼錛岀▼搴忓憳鍙互鐢ㄥ畠浠潵寮鍙慣CP/IP緗戠粶涓婄殑搴旂敤紼嬪簭銆傝瀛nternet涓婄殑TCP/IP緗戠粶緙栫▼錛屽繀欏葷悊瑙ocket鎺ュ彛銆?/span>

銆銆Socket鎺ュ彛璁捐鑰呮渶鍏堟槸灝嗘帴鍙f斁鍦║nix鎿嶄綔緋葷粺閲岄潰鐨勩傚鏋滀簡瑙nix緋葷粺鐨勮緭鍏ュ拰杈?鍑虹殑璇濓紝灝卞緢瀹規(guī)槗浜嗚ВSocket浜嗐傜綉緇滅殑Socket鏁版嵁浼犺緭鏄竴縐嶇壒孌婄殑I/O錛孲ocket涔熸槸涓縐嶆枃浠舵弿榪扮銆係ocket涔熷叿鏈変竴涓被浼間簬鎵?寮鏂囦歡鐨勫嚱鏁拌皟鐢⊿ocket()錛岃鍑芥暟榪斿洖涓涓暣鍨嬬殑Socket鎻忚堪絎︼紝闅忓悗鐨勮繛鎺ュ緩绔嬨佹暟鎹紶杈撶瓑鎿嶄綔閮芥槸閫氳繃璇ocket瀹炵幇鐨勩傚父鐢ㄧ殑 Socket綾誨瀷鏈変袱縐嶏細(xì)嫻佸紡Socket錛圫OCK_STREAM錛夊拰鏁版嵁鎶ュ紡Socket錛圫OCK_DGRAM錛夈傛祦寮忔槸涓縐嶉潰鍚戣繛鎺ョ殑 Socket錛岄拡瀵逛簬闈㈠悜榪炴帴鐨凾CP鏈嶅姟搴旂敤錛涙暟鎹姤寮廠ocket鏄竴縐嶆棤榪炴帴鐨凷ocket錛屽搴斾簬鏃犺繛鎺ョ殑UDP鏈嶅姟搴旂敤銆?/span>

銆銆1銆乻ocket璋冪敤搴撳嚱鏁頒富瑕佹湁錛?/span>

銆銆鍒涘緩濂楁帴瀛?/span>

銆銆Socket(af,type,protocol)

銆銆寤虹珛鍦板潃鍜屽鎺ュ瓧鐨勮仈緋?/span>

銆銆bind(sockid, local addr, addrlen)

銆銆鏈嶅姟鍣ㄧ渚﹀惉瀹㈡埛绔殑璇鋒眰

銆銆listen( Sockid ,quenlen)

銆銆寤虹珛鏈嶅姟鍣?瀹㈡埛绔殑榪炴帴 (闈㈠悜榪炴帴TCP錛?/span>

銆銆瀹㈡埛绔姹傝繛鎺?/span>

銆銆Connect(sockid, destaddr, addrlen)

銆銆鏈嶅姟鍣ㄧ絳夊緟浠庣紪鍙蜂負(fù)Sockid鐨凷ocket涓婃帴鏀跺鎴瘋繛鎺ヨ姹?/span>

銆銆newsockid=accept(Sockid錛孋lientaddr, paddrlen)

銆銆鍙戦?鎺ユ敹鏁版嵁

銆銆闈㈠悜榪炴帴錛歴end(sockid, buff, bufflen)

銆銆recv( )

銆銆闈㈠悜鏃犺繛鎺ワ細(xì)sendto(sockid,buff,…,addrlen)

銆銆recvfrom( )

銆銆閲婃斁濂楁帴瀛?/span>

銆銆close(sockid)

銆銆2銆乀CP/IP搴旂敤緙栫▼鎺ュ彛錛圓PI錛?/span>

銆銆鏈嶅姟鍣ㄧ殑宸ヤ綔嫻佺▼錛氶鍏堣皟鐢╯ocket鍑芥暟鍒涘緩涓涓猄ocket錛岀劧鍚庤皟鐢╞ind鍑芥暟灝嗗叾涓庢湰 鏈哄湴鍧浠ュ強涓涓湰鍦扮鍙e彿緇戝畾錛岀劧鍚庤皟鐢╨isten鍦ㄧ浉搴旂殑socket涓?錛屽綋accpet鎺ユ敹鍒頒竴涓繛鎺ユ湇鍔¤姹傛椂錛屽皢鐢熸垚涓涓柊鐨剆ocket銆?鏈嶅姟鍣ㄦ樉紺鴻瀹㈡埛鏈虹殑IP鍦板潃錛屽茍閫氳繃鏂扮殑socket鍚戝鎴風(fēng)鍙戦佸瓧絎︿覆" hi,I am server!"銆傛渶鍚庡叧闂socket銆?br>

main()
{
int sock_fd,client_fd; /*sock_fd錛?socket錛沜lient_fd錛氭暟鎹紶杈搒ocket */
struct sockaddr_in ser_addr; /* 鏈満鍦板潃淇℃伅 */
struct sockaddr_in cli_addr; /* 瀹㈡埛绔湴鍧淇℃伅 */
char msg[MAX_MSG_SIZE];/* 緙撳啿鍖?/
ser_sockfd=socket(AF_INET,SOCK_STREAM,0);/*鍒涘緩榪炴帴鐨凷OCKET */
if(ser_sockfd<0)
{/*鍒涘緩澶辮觸 */
fprintf(stderr,"socker Error:%s\n",strerror(errno));
exit(1);
}
/* 鍒濆鍖栨湇鍔″櫒鍦板潃*/
addrlen=sizeof(struct sockaddr_in);
bzero(&ser_addr,addrlen);
ser_addr.sin_family=AF_INET;
ser_addr.sin_addr.s_addr=htonl(INADDR_ANY);
ser_addr.sin_port=htons(SERVER_PORT);
if(bind(ser_sockfd,(struct sockaddr*)&ser_addr,sizeof(struct sockaddr_in))<0)
{ /*緇戝畾澶辮觸 */
fprintf(stderr,"Bind Error:%s\n",strerror(errno));
exit(1);
}
/*渚﹀惉瀹㈡埛绔姹?/
if(listen(ser_sockfd,BACKLOG)<0)
{
fprintf(stderr,"Listen Error:%s\n",strerror(errno));
close(ser_sockfd);
exit(1);
}
while(1)
{/* 絳夊緟鎺ユ敹瀹㈡埛榪炴帴璇鋒眰*/
cli_sockfd=accept(ser_sockfd,(struct sockaddr*) &         cli_addr,&addrlen);
if(cli_sockfd<=0)
{
fprintf(stderr,"Accept Error:%s\n",strerror(errno));
}
else
{/*寮濮嬫湇鍔?/
recv(cli_addr,msg,MAX_MSG_SIZE,0); /* 鎺ュ彈鏁版嵁*/
printf("received a connection from %sn", inet_ntoa(cli_addr.sin_addr));
printf("%s\n",msg);/*鍦ㄥ睆騫曚笂鎵撳嵃鍑烘潵 */
strcpy(msg,"hi,I am server!");
send(cli_addr,msg,sizeof(msg),0); /*鍙戦佺殑鏁版嵁*/
close(cli_addr);
}
}
close(ser_sockfd);
}

銆銆瀹㈡埛绔殑宸ヤ綔嫻佺▼錛氶鍏堣皟鐢╯ocket鍑芥暟鍒涘緩涓涓猄ocket錛岀劧鍚庤皟鐢╞ind鍑芥暟灝嗗叾涓庢湰鏈哄湴鍧浠ュ強涓涓湰鍦扮鍙e彿緇戝畾錛岃姹傝繛鎺ユ湇鍔″櫒錛岄氳繃鏂扮殑socket鍚戝鎴風(fēng)鍙戦佸瓧絎︿覆" hi,I am client!"銆傛渶鍚庡叧闂socket銆?/p>

main()
{
int cli_sockfd;/*瀹㈡埛绔疭OCKET */
int addrlen;
char seraddr[14];
struct sockaddr_in ser_addr,/* 鏈嶅姟鍣ㄧ殑鍦板潃*/
cli_addr;/* 瀹㈡埛绔殑鍦板潃*/
char msg[MAX_MSG_SIZE];/* 緙撳啿鍖?/
GetServerAddr(seraddr);
cli_sockfd=socket(AF_INET,SOCK_STREAM,0);/*鍒涘緩榪炴帴鐨凷OCKET */
if(ser_sockfd<0)
{/*鍒涘緩澶辮觸 */
fprintf(stderr,"socker Error:%s\n",strerror(errno));
exit(1);
}
/* 鍒濆鍖栧鎴風(fēng)鍦板潃*/
addrlen=sizeof(struct sockaddr_in);
bzero(&ser_addr,addrlen);
cli_addr.sin_family=AF_INET;
cli_addr.sin_addr.s_addr=htonl(INADDR_ANY);
cli_addr.sin_port=0;
if(bind(cli_sockfd,(struct sockaddr*)&cli_addr,addrlen)<0)
{
/*媯掑畾澶辮觸 */
fprintf(stderr,"Bind Error:%s\n",strerror(errno));
exit(1);
}
/* 鍒濆鍖栨湇鍔″櫒鍦板潃*/
addrlen=sizeof(struct sockaddr_in);
bzero(&ser_addr,addrlen);
ser_addr.sin_family=AF_INET;
ser_addr.sin_addr.s_addr=inet_addr(seraddr);
ser_addr.sin_port=htons(SERVER_PORT);
if(connect(cli_sockfd,(struct sockaddr*)&ser_addr,&addrlen)!=0)/*璇鋒眰榪炴帴*/
{
/*榪炴帴澶辮觸 */
fprintf(stderr,"Connect Error:%s\n",strerror(errno));
close(cli_sockfd);
exit(1);
}
strcpy(msg,"hi,I am client!");
send(sockfd,msg,sizeof(msg),0);/*鍙戦佹暟鎹?/
recv(sockfd,msg,MAX_MSG_SIZE,0); /* 鎺ュ彈鏁版嵁*/
printf("%s\n",msg);/*鍦ㄥ睆騫曚笂鎵撳嵃鍑烘潵 */
close(cli_sockfd);
}

銆銆3銆乁DP/IP搴旂敤緙栫▼鎺ュ彛錛圓PI錛?/strong>

銆銆鏈嶅姟鍣ㄧ殑宸ヤ綔嫻佺▼錛氶鍏堣皟鐢╯ocket鍑芥暟鍒涘緩涓涓猄ocket錛岀劧鍚庤皟鐢╞ind鍑芥暟灝嗗叾涓庢湰鏈哄湴鍧浠ュ強涓涓湰鍦扮鍙e彿緇戝畾錛屾帴鏀跺埌涓涓鎴風(fēng)鏃訛紝鏈嶅姟鍣ㄦ樉紺鴻瀹㈡埛绔殑IP鍦板潃錛屽茍灝嗗瓧涓茶繑鍥炵粰瀹㈡埛绔?/p>

int main(int argc,char **argv)
{
int ser_sockfd;
int len;
//int addrlen;
socklen_t addrlen;
char seraddr[100];
struct sockaddr_in ser_addr;
/*寤虹珛socket*/
ser_sockfd=socket(AF_INET,SOCK_DGRAM,0);
if(ser_sockfd<0)
{
printf("I cannot socket success\n");
return 1;
}
/*濉啓sockaddr_in 緇撴瀯*/
addrlen=sizeof(struct sockaddr_in);
bzero(&ser_addr,addrlen);
ser_addr.sin_family=AF_INET;
ser_addr.sin_addr.s_addr=htonl(INADDR_ANY);
ser_addr.sin_port=htons(SERVER_PORT);
/*緇戝畾瀹㈡埛绔?br>if(bind(ser_sockfd,(struct sockaddr *)&ser_addr,addrlen)<0)
{
printf("connect");
return 1;
}
while(1)
{
bzero(seraddr,sizeof(seraddr));
len=recvfrom(ser_sockfd,seraddr,sizeof(seraddr),0,(struct sockaddr*)&ser_addr,&addrlen);
/*鏄劇ずclient绔殑緗戠粶鍦板潃*/
printf("receive from %s\n",inet_ntoa(ser_addr.sin_addr));
/*鏄劇ず瀹㈡埛绔彂鏉ョ殑瀛椾覆*/
printf("recevce:%s",seraddr);
/*灝嗗瓧涓茶繑鍥炵粰client绔?/
sendto(ser_sockfd,seraddr,len,0,(struct sockaddr*)&ser_addr,addrlen);
}
}

銆銆瀹㈡埛绔殑宸ヤ綔嫻佺▼錛氶鍏堣皟鐢╯ocket鍑芥暟鍒涘緩涓涓猄ocket錛屽~鍐欐湇鍔″櫒鍦板潃鍙婄鍙e彿錛屼粠鏍囧噯杈撳叆璁懼涓彇寰楀瓧絎︿覆錛屽皢瀛楃涓蹭紶閫佺粰鏈嶅姟鍣ㄧ錛屽茍鎺ユ敹鏈嶅姟鍣ㄧ榪斿洖鐨勫瓧絎︿覆銆傛渶鍚庡叧闂socket銆?/p>

int GetServerAddr(char * addrname)
{
printf("please input server addr:");
scanf("%s",addrname);
return 1;
}
int main(int argc,char **argv)
{
int cli_sockfd;
int len;
socklen_t addrlen;
char seraddr[14];
struct sockaddr_in cli_addr;
char buffer[256];
GetServerAddr(seraddr);
/* 寤虹珛socket*/
cli_sockfd=socket(AF_INET,SOCK_DGRAM,0);
if(cli_sockfd<0)
{
printf("I cannot socket success\n");
return 1;
}
/* 濉啓sockaddr_in*/
addrlen=sizeof(struct sockaddr_in);
bzero(&cli_addr,addrlen);
cli_addr.sin_family=AF_INET;
cli_addr.sin_addr.s_addr=inet_addr(seraddr);
//cli_addr.sin_addr.s_addr=htonl(INADDR_ANY);
cli_addr.sin_port=htons(SERVER_PORT);

bzero(buffer,sizeof(buffer));
/* 浠庢爣鍑嗚緭鍏ヨ澶囧彇寰楀瓧絎︿覆*/
len=read(STDIN_FILENO,buffer,sizeof(buffer));
/* 灝嗗瓧絎︿覆浼犻佺粰server绔?/
sendto(cli_sockfd,buffer,len,0,(struct sockaddr*)&cli_addr,addrlen);
/* 鎺ユ敹server绔繑鍥炵殑瀛楃涓?/
len=recvfrom(cli_sockfd,buffer,sizeof(buffer),0,(struct sockaddr*)&cli_addr,&addrlen);
//printf("receive from %s\n",inet_ntoa(cli_addr.sin_addr));
printf("receive: %s",buffer);
close(cli_sockfd);
}



luis 2010-09-12 10:41 鍙戣〃璇勮
]]>
[杞澆]Vector閬嶅巻http://m.shnenglu.com/luyulaile/archive/2010/01/26/106444.htmlluisluisTue, 26 Jan 2010 01:08:00 GMThttp://m.shnenglu.com/luyulaile/archive/2010/01/26/106444.htmlhttp://m.shnenglu.com/luyulaile/comments/106444.htmlhttp://m.shnenglu.com/luyulaile/archive/2010/01/26/106444.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/106444.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/106444.htmlimport java.util.Iterator;
import java.util.Vector;

public class VectorIterator implements Iterator{
    
     private Vector v;
    
     private int currentIndex=0;
    
     public VectorIterator(){
        
     }
    
     public VectorIterator(Vector v){
         this.v=v;
     }    

     public boolean hasNext() {                
         if(this.currentIndex<this.v.size()){
             System.out.println("current index is :   "+this.currentIndex);
             return true;
         }else{
             System.out.println("out of the bound ");
         }
         return false;
     }

     public Object next() {            
         return this.v.get(this.currentIndex++);
     }

     public void remove() {
         this.v.remove(this.currentIndex);        
     }
    
    
     public static void main(String[] args){
         Vector v=new Vector();
         v.add(new String("aaa"));
         v.add(new String("bbb"));
         v.add(new String("ccc"));
         //System.out.println(v);
        
        
         Iterator iter=new VectorIterator(v);
         while(iter.hasNext()){
             String str=(String)iter.next();
             System.out.println(str);
         }
     }
    
}

luis 2010-01-26 09:08 鍙戣〃璇勮
]]>
java Vector鎺掑簭鍙婄敤娉?/title><link>http://m.shnenglu.com/luyulaile/archive/2010/01/26/106439.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Mon, 25 Jan 2010 17:48:00 GMT</pubDate><guid>http://m.shnenglu.com/luyulaile/archive/2010/01/26/106439.html</guid><wfw:comment>http://m.shnenglu.com/luyulaile/comments/106439.html</wfw:comment><comments>http://m.shnenglu.com/luyulaile/archive/2010/01/26/106439.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/luyulaile/comments/commentRss/106439.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/luyulaile/services/trackbacks/106439.html</trackback:ping><description><![CDATA[<p>temp=CustomerMaker.quickPassQueue.get(0);//鑾峰緱棣栧厓绱?br />  CustomerMaker.quickPassQueue.remove(0);//鍒犻櫎棣栧厓绱?br /><br /> quickPassQueue.add();鍦ㄦ湯灝炬坊鍔犲厓绱?br />----婕旂ず紼嬪簭-----<br /><br />import java.util.*;<br />import java.io.*;<br /><br />public class test<br />{<br />Vector v = new Vector();<br /><br />public void testMethod(){<br />  v.add("a");<br />  v.add("b");<br />  v.add("c");<br /><br />  System.out.println("\n鍘熸潵鐨剉ecotr");<br />  for(int i=0;i<v.size();i++){<br />   System.out.println("\n"+" index is: "+ i + " element is: " +v.get(i));<br />  }<br /><br />  v.remove(0);<br /><br />  System.out.println("\n鍘繪帀涓涓獀ector涓涓涓厓绱?);<br />  for(int i=0;i<v.size();i++){<br />   System.out.println("\n"+" index is: "+ i + " element is: " +v.get(i));<br />  }<br />}<br /><br />public static void main(String[] args) <br />{<br />  test t = new test();<br />  t.testMethod();<br />  System.out.println("Hello World!");<br />}<br />}<br />-----------------鎺掑簭紼嬪簭------------------------------<br />import java.util.*;</p> <p>class MyCompare implements Comparator //瀹炵幇Comparator錛屽畾涔夎嚜宸辯殑姣旇緝鏂規(guī)硶<br />{<br />public int compare(Object o1, Object o2) {<br />Elem e1=(Elem)o1;<br />Elem e2=(Elem)o2;<br /><br />if(e1.get() > e2.get())//榪欐牱姣旇緝鏄檷搴?濡傛灉鎶?1鏀規(guī)垚1灝辨槸鍗囧簭.<br />{<br />   return -1;<br />}<br />else if(e1.get()<e2.get())<br />{<br />   return 1;<br />}<br />else<br />{<br />   return 0;<br />}<br />}<br />}</p> <p>class Elem {<br />private int iVal;</p> <p>public Elem(int i) {<br />   this.iVal = i;<br />}</p> <p>public int get() {<br />   return this.iVal;<br />}<br />}</p> <p>public class Vector1 {<br />public static void main(String[] args) {<br />   List v = new Vector();<br />   v.add(new Elem(1));<br />   v.add(new Elem(22));<br />   v.add(new Elem(3));<br />   v.add(new Elem(14));<br />   Comparator ct = new MyCompare();<br />   Collections.sort(v, ct);<br />   for (int i = 0; i < v.size(); i++)<br />    System.out.println(((Elem) v.get(i)).get());</p> <p>}</p> <p>}<br /></p><img src ="http://m.shnenglu.com/luyulaile/aggbug/106439.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/luyulaile/" target="_blank">luis</a> 2010-01-26 01:48 <a href="http://m.shnenglu.com/luyulaile/archive/2010/01/26/106439.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>[杞澆]浣跨敤 Java 緙栫▼璇█瀹炵幇綰跨▼ http://m.shnenglu.com/luyulaile/archive/2010/01/26/106437.htmlluisluisMon, 25 Jan 2010 17:17:00 GMThttp://m.shnenglu.com/luyulaile/archive/2010/01/26/106437.htmlhttp://m.shnenglu.com/luyulaile/comments/106437.htmlhttp://m.shnenglu.com/luyulaile/archive/2010/01/26/106437.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/106437.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/106437.html浣跨敤 Java 緙栫▼璇█瀹炵幇綰跨▼

銆銆Java緙栫▼璇█浣垮綰跨▼濡傛綆鍗曟湁鏁堬紝浠ヨ嚧浜庢煇浜涚▼搴忓憳璇村畠瀹為檯涓婃槸鑷劧鐨勩傚敖綆″湪 Java 涓嬌鐢ㄧ嚎紼嬫瘮鍦ㄥ叾浠栬璦涓瀹規(guī)槗寰楀錛屼粛鐒舵湁涓浜涙蹇甸渶瑕佹帉鎻°傝璁頒綇鐨勪竴浠墮噸瑕佺殑浜嬫儏鏄?/span> main() 鍑芥暟涔熸槸涓涓嚎紼嬶紝騫跺彲鐢ㄦ潵鍋氭湁鐢ㄧ殑宸ヤ綔銆傜▼搴忓憳鍙湁鍦ㄩ渶瑕佸涓嚎紼嬫椂鎵嶉渶瑕佸垱寤烘柊鐨勭嚎紼嬨?/span>

銆銆Thread 綾?/span>

銆銆Thread 綾繪槸涓涓叿浣撶殑綾伙紝鍗充笉鏄娊璞$被錛岃綾誨皝瑁呬簡綰跨▼鐨勮涓恒傝鍒涘緩涓涓嚎紼嬶紝紼嬪簭鍛樺繀欏誨垱寤轟竴涓粠 Thread 綾誨鍑虹殑鏂扮被銆傜▼搴忓憳蹇呴』瑕嗙洊 Thread 鐨?/span> run() 鍑芥暟鏉ュ畬鎴愭湁鐢ㄧ殑宸ヤ綔銆傜敤鎴峰茍涓嶇洿鎺ヨ皟鐢ㄦ鍑芥暟錛涜屾槸蹇呴』璋冪敤 Thread 鐨?/span> start() 鍑芥暟錛岃鍑芥暟鍐嶈皟鐢?/span> run()銆備笅闈㈢殑浠g爜璇存槑浜嗗畠鐨勭敤娉曪細(xì)

銆銆鍒涘緩涓や釜鏂扮嚎紼?/span>

import java.util.*;

class TimePrinter extends Thread {
int pauseTime;
String name;
public TimePrinter(int x, String n) {
銆銆pauseTime = x;
銆銆name = n;
}

public void run() {
銆銆while(true) {
銆銆銆try {
銆銆銆銆System.out.println(name + ":" + new Date(System.currentTimeMillis()));
銆銆銆銆Thread.sleep(pauseTime);
銆銆銆} catch(Exception e) {
銆銆銆銆System.out.println(e);
銆銆銆}
銆銆}
}

static public void main(String args[]) {
銆銆TimePrinter tp1 = new TimePrinter(1000, "Fast Guy");
銆銆tp1.start();
銆銆TimePrinter tp2 = new TimePrinter(3000, "Slow Guy");
銆銆tp2.start();

}
}


銆銆鍦ㄦ湰渚嬩腑錛屾垜浠彲浠ョ湅鍒頒竴涓畝鍗曠殑紼嬪簭錛屽畠鎸変袱涓笉鍚岀殑鏃墮棿闂撮殧錛?/span>1 縐掑拰 3 縐掞級鍦ㄥ睆騫曚笂鏄劇ず褰撳墠鏃墮棿銆傝繖鏄氳繃鍒涘緩涓や釜鏂扮嚎紼嬫潵瀹屾垚鐨勶紝鍖呮嫭 main() 鍏變笁涓嚎紼嬨備絾鏄紝鍥犱負(fù)鏈夋椂瑕佷綔涓虹嚎紼嬭繍琛岀殑綾誨彲鑳藉凡緇忔槸鏌愪釜綾誨眰嬈$殑涓閮ㄥ垎錛屾墍浠ュ氨涓嶈兘鍐嶆寜榪欑鏈哄埗鍒涘緩綰跨▼銆傝櫧鐒跺湪鍚屼竴涓被涓彲浠ュ疄鐜頒換鎰忔暟閲忕殑鎺ュ彛錛屼絾 Java 緙栫▼璇█鍙厑璁鎬竴涓被鏈変竴涓埗綾匯傚悓鏃訛紝鏌愪簺紼嬪簭鍛橀伩鍏嶄粠 Thread 綾誨鍑猴紝鍥犱負(fù)瀹冨己鍔犱簡綾誨眰嬈°傚浜庤繖縐嶆儏鍐碉紝灝辮 runnable 鎺ュ彛銆?/span>

銆銆Runnable 鎺ュ彛

銆銆姝ゆ帴鍙e彧鏈変竴涓嚱鏁幫紝run()錛屾鍑芥暟蹇呴』鐢卞疄鐜頒簡姝ゆ帴鍙g殑綾誨疄鐜般備絾鏄紝灝辮繍琛岃繖涓被鑰岃錛屽叾璇箟涓庡墠涓涓ず渚嬬◢鏈変笉鍚屻傛垜浠彲浠ョ敤 runnable 鎺ュ彛鏀瑰啓鍓嶄竴涓ず渚嬨傦紙涓嶅悓鐨勯儴鍒嗙敤榛戜綋琛ㄧず銆傦級

銆銆鍒涘緩涓や釜鏂扮嚎紼嬭屼笉寮哄姞綾誨眰嬈?/span>

import java.util.*;

class TimePrinter implements Runnable {
int pauseTime;
String name;
public TimePrinter(int x, String n) {
銆銆pauseTime = x;
銆銆name = n;
}

public void run() {
銆銆while(true) {
銆銆銆try {
銆銆銆銆System.out.println(name + ":" + new Date(System.currentTimeMillis()));
銆銆銆銆Thread.sleep(pauseTime);
銆銆銆} catch(Exception e) {
銆銆銆銆System.out.println(e);
銆銆銆}
銆銆}
}

static public void main(String args[]) {
銆銆Thread t1 = new Thread(new TimePrinter(1000, "Fast Guy"));
銆銆t1.start();
銆銆Thread t2 = new Thread(new TimePrinter(3000, "Slow Guy"));
銆銆t2.start();
}
}



銆銆璇鋒敞鎰忥紝褰撲嬌鐢?/span> runnable 鎺ュ彛鏃訛紝鎮(zhèn)ㄤ笉鑳界洿鎺ュ垱寤烘墍闇綾葷殑瀵硅薄騫惰繍琛屽畠錛涘繀欏諱粠 Thread 綾葷殑涓涓疄渚嬪唴閮ㄨ繍琛屽畠銆傝澶氱▼搴忓憳鏇村枩嬈?/span> runnable 鎺ュ彛錛屽洜涓轟粠 Thread 綾葷戶鎵夸細(xì)寮哄姞綾誨眰嬈°?/span>

銆銆synchronized 鍏抽敭瀛?/span>

銆銆鍒扮洰鍓嶄負(fù)姝紝鎴戜滑鐪嬪埌鐨勭ず渚嬮兘鍙槸浠ラ潪甯哥畝鍗曠殑鏂瑰紡鏉ュ埄鐢ㄧ嚎紼嬨傚彧鏈夋渶灝忕殑鏁版嵁嫻侊紝鑰屼笖涓嶄細(xì)鍑虹幇涓や釜綰跨▼璁塊棶鍚屼竴涓璞$殑鎯呭喌銆備絾鏄紝鍦ㄥぇ澶氭暟鏈夌敤鐨勭▼搴忎腑錛岀嚎紼嬩箣闂撮氬父鏈変俊鎭祦銆傝瘯鑰冭檻涓涓噾铻嶅簲鐢ㄧ▼搴忥紝瀹冩湁涓涓?/span> Account 瀵硅薄錛屽涓嬩緥涓墍紺猴細(xì)

銆銆涓涓摱琛屼腑鐨勫欏規(guī)椿鍔?/span>

public class Account {
String holderName;
float amount;
public Account(String name, float amt) {
holderName = name;
amount = amt;
}

public void deposit(float amt) {
amount += amt;
}

public void withdraw(float amt) {
amount -= amt;
}

public float checkBalance() {
return amount;
}
}


銆銆鍦ㄦ浠g爜鏍蜂緥涓綔浼忕潃涓涓敊璇傚鏋滄綾葷敤浜庡崟綰跨▼搴旂敤紼嬪簭錛屼笉浼?xì)鏈変恢M綍闂銆備絾鏄紝鍦ㄥ綰跨▼搴旂敤紼嬪簭鐨勬儏鍐典腑錛屼笉鍚岀殑綰跨▼灝辨湁鍙兘鍚屾椂璁塊棶鍚屼竴涓?/span> Account 瀵硅薄錛屾瘮濡傝涓涓仈鍚堝笎鎴風(fēng)殑鎵鏈夎呭湪涓嶅悓鐨?/span> ATM 涓婂悓鏃惰繘琛岃闂傚湪榪欑鎯呭喌涓嬶紝瀛樺叆鍜屾敮鍑哄氨鍙兘浠ヨ繖鏍風(fēng)殑鏂瑰紡鍙戠敓錛氫竴涓簨鍔¤鍙︿竴涓簨鍔¤鐩栥傝繖縐嶆儏鍐靛皢鏄伨闅炬х殑銆備絾鏄紝Java 緙栫▼璇█鎻愪緵浜嗕竴縐嶇畝鍗曠殑鏈哄埗鏉ラ槻姝㈠彂鐢熻繖縐嶈鐩栥傛瘡涓璞″湪榪愯鏃墮兘鏈変竴涓叧鑱旂殑閿併傝繖涓攣鍙氳繃涓烘柟娉曟坊鍔犲叧閿瓧 synchronized 鏉ヨ幏寰椼傝繖鏍鳳紝淇榪囩殑 Account 瀵硅薄錛堝涓嬫墍紺猴級灝嗕笉浼?xì)閬彈鍍忔暟鎹崯鍧彉q欐牱鐨勯敊璇細(xì)

銆銆瀵逛竴涓摱琛屼腑鐨勫欏規(guī)椿鍔ㄨ繘琛屽悓姝ュ鐞?/span>

public class Account {
String holderName;
float amount;
public Account(String name, float amt) {
holderName = name;
amount = amt;
}

public synchronized void deposit(float amt) {
amount += amt;
}

public synchronized void withdraw(float amt) {
amount -= amt;
}

public float checkBalance() {
return amount;
}
}


銆銆deposit() 鍜?/span> withdraw() 鍑芥暟閮介渶瑕佽繖涓攣鏉ヨ繘琛屾搷浣滐紝鎵浠ュ綋涓涓嚱鏁拌繍琛屾椂錛屽彟涓涓嚱鏁板氨琚樆濉炪傝娉ㄦ剰錛?/span> checkBalance() 鏈綔鏇存敼錛屽畠涓ユ牸鏄竴涓鍑芥暟銆傚洜涓?/span> checkBalance() 鏈綔鍚屾澶勭悊錛屾墍浠ヤ換浣曞叾浠栨柟娉曢兘涓嶄細(xì)闃誨瀹冿紝瀹冧篃涓嶄細(xì)闃誨浠諱綍鍏朵粬鏂規(guī)硶錛屼笉綆¢偅浜涙柟娉曟槸鍚﹁繘琛屼簡鍚屾澶勭悊



luis 2010-01-26 01:17 鍙戣〃璇勮
]]>
joj 1092 To the Max 杞笘Dp緇忓吀http://m.shnenglu.com/luyulaile/archive/2009/07/09/89674.htmlluisluisThu, 09 Jul 2009 10:37:00 GMThttp://m.shnenglu.com/luyulaile/archive/2009/07/09/89674.htmlhttp://m.shnenglu.com/luyulaile/comments/89674.htmlhttp://m.shnenglu.com/luyulaile/archive/2009/07/09/89674.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/89674.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/89674.html[鍘熷垱]POJ1050 To the Max 瑙i鎶ュ憡
2006-04-17 11:55
棰樼洰澶ф剰:

璇誨叆涓涓猲*n鐨勬暟緇?姣斿 

0 -2 -7 0 

9 2 -6 2 

-4 1 -4 1 

-1 8 0 -2  

浠庨噷闈換鎰忔埅鍙栦竴涓煩闃?浣垮緱鐭╅樀鎵鍖呭惈鐨勬暟瀛楃殑鍜屾渶澶?

鎴彇鍑烘潵鐨勭煩闃?鍜屼負(fù)15

9 2 

-4 1 

-1 8 

---------------------------------------------------------

POJ 1050 鎴戠殑瑙i鎶ュ憡錛?br>
榪欎釜棰樼洰寰堢粡鍏哥殑璇達(dá)紝O錛圢^3錛夌殑DP銆?br>
棣栧厛鍋朵滑鑰冨療榪欐牱鐨勯鐩紝綆鍖栫増錛?br>
宸茬煡涓鍒楁暟錛屾眰浠繪剰榪炵畫鑻ュ共涓暟鍜岀殑鏈澶у箋?br>
SAMPLE錛?nbsp;3 2 -6 2 -1 7

鍘熸暟3        2      -6       2      -1       7 

澶勭悊3        5      -1       2       1       8

鍥犱負(fù)鏄繛緇嫢騫蹭釜鑷劧鏁扮殑鍜岋紝閭d箞錛屽墠闈㈢殑鏌愪釜鏁板瓧鍙栦笌涓嶅彇鐨勬潯浠跺湪浜庯細(xì)浠ュ墠闈㈣繖涓暟瀛椾負(fù)緇撳熬鐨勮繛緇暟鐨勫拰鏈澶у兼槸鍚﹀ぇ浜?錛屽鏋滃ぇ浜?錛岄偅涔堣繖涓暟瀛楀繀鐒惰浼?xì)鍑虹幇鍦ㄥ寘鎷暟瀛楃殑搴忓垪涓Q屽惁鍒欐棤娉曞仛鍒版渶澶с?br>
鎵浠ワ紝鏄劇劧銆傚鐞嗙殑鍘熷垯鏄痬axn[i]=max{0,maxn[i-1]}+a[i];

鐢變簬鏃犻』璁板綍浣嶇疆銆傛墍浠ワ紝鍙互鐩存帴鐢ㄤ竴涓彉閲弒um浠f浛maxn鏁扮粍銆侽(n)鐨勬壂鎻忓嵆鍙?br>
鍗曞垪鏁板瓧鐨勯棶棰樿В鍐充簡錛屼笅闈㈡垜浠冨療澶氬垪鏁板瓧鐨?br>
sample:

         0    -2    -7    0 

         9     2    -6    2 

        -4     1    -4    1 

        -1     8     0   -2 



鎴戜滑鍙互灝嗗鍒楁暟瀛楄漿鎹㈡垚鍗曞垪鏁板瓧鏉ュ仛錛?nbsp;鍙互榪欐牱璁炬兂錛岀粨鏋滄槸涓涓暱鏂瑰艦錛屾垜浠妸浠栧帇鎵侊紝浣垮緱瀹戒負(fù)1銆?br>
寮曞叆杈呭姪鏁扮粍st,st[i][j]浠h〃絎琲鍒椾粠絎?琛屽紑濮嬬殑鏁板瓧绱姞鍒扮j琛岀殑鍊箋傞偅涔堬紝鎴戜滑姣忔鍘嬫墎鐨勬椂鍊欙紝灝卞彲浠ョ敤st[i][j]-st[i][k-1]鏉ヨ〃紺虹i鍒椾粠絎琸涓暟瀛楃瘡鍔犲埌絎琷涓暟瀛楃殑鍊箋傝揪鍒板帇緙╃殑鏁堟灉銆傜劧鍚庣敤涓婇潰鍗曞垪鏁板瓧鐨勬柟娉曟潵鍋氥傜畻娉曟椂闂村鏉傚害O (N^3)

Source



Problem Id:1050  User Id:galaxy 

Memory:112K  Time:0MS

Language:G++  Result:Accepted



/*

  Name:POJ 1050 

  Copyright: flymouse@galaxy                                         

  Author:chenlei

  Date: 15-02-06 07:36

  Description: DP O(N^3)

*/

#include <stdio.h>

#include <string.h>

#define mt 101

int main()

{

int a[mt][mt];

int st[mt][mt];

int p,k,n,i,j,sum,maxn;

//freopen("in.txt","r",stdin);

scanf("%d",&n);

for (i=1;i<=n;i++)

for (j=1;j<=n;j++)

scanf("%d",&a[i][j]);

memset(st,0,sizeof(st));

for (i=1;i<=n;i++)

   for (j=1;j<=n;j++)

  st[i][j]=st[i][j-1]+a[j][i];

  maxn=0;

   for (i=1;i<=n;i++)

   {

for (j=i;j<=n;j++)

{

p=st[1][j]-st[1][i-1];

sum=p;

for (k=2;k<=n;k++)

{

if (sum>0)

sum+=st[k][j]-st[k][i-1];

else sum=st[k][j]-st[k][i-1];

if (sum>p) p=sum;

}

if (p>maxn) maxn=p;

}

   }

   printf("%d\n",maxn);

   return 0;
鍘熸枃鍦板潃錛?a >http://hi.baidu.com/flymouse/blog/item/fd1378f05c7ff7c37931aac3.html


luis 2009-07-09 18:37 鍙戣〃璇勮
]]>
瀛楃涓插搱甯?/title><link>http://m.shnenglu.com/luyulaile/archive/2009/07/01/88990.html</link><dc:creator>luis</dc:creator><author>luis</author><pubDate>Wed, 01 Jul 2009 06:29:00 GMT</pubDate><guid>http://m.shnenglu.com/luyulaile/archive/2009/07/01/88990.html</guid><wfw:comment>http://m.shnenglu.com/luyulaile/comments/88990.html</wfw:comment><comments>http://m.shnenglu.com/luyulaile/archive/2009/07/01/88990.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/luyulaile/comments/commentRss/88990.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/luyulaile/services/trackbacks/88990.html</trackback:ping><description><![CDATA[<p>榪欐槸絎竴縐嶅搱甯屽嚱鏁幫紝榪愯鏃墮棿鐭紝浣嗗唴瀛樺崰鐢ㄥ銆傚搱甯屽嚱鏁版槸鎬庝箞寰楀埌鐨勶紵鎴戜篃鎯崇煡閬撱傘傘?br>#include<stdio.h><br>#include<string.h><br>#include<math.h><br>struct abc<br>{<br>    int boo;<br>    char key[12];<br>}hash[1100005];<br>int const prime=999983;<br>double const gold=0.618033;<br>void insert(char a[],int k,int w)<br>{<br>    if(hash[w].boo==0)<br>    {    <br>        hash[w].boo=k;<br>        memcpy(hash[w].key,a,sizeof(hash[w].key));<br>    }<br>    else<br>        insert(a,k,w%prime+1);     <br>}<br>int find(int k,int w)<br>{<br>    if(hash[w].boo==k)<br>    {<br>        printf("%s\n",hash[w].key);<br>            return 1;<br>    }    <br>    else<br>    {<br>        if(hash[w].boo==0)<br>            return 0;<br>        else<br>            return find(k,w%prime+1);<br>    }    <br>}<br>int main()<br>{<br>    freopen("in.txt","r",stdin);<br>    char a[12],b[12];<br>    scanf("%c",&a[0]);<br>    while(scanf("%s%s",a+1,b))<br>    {<br>        getchar();<br>        int len=strlen(b);<br>        int k=0;<br>        for(int i=0;i<len;i++)<br>            k=k*26+b[i]-'a';<br>        int w=int (prime*(k*gold-floor(k*gold)));<br>        insert(a,k,w);<br>        scanf("%c",&a[0]);<br>        if(a[0]=='\n')<br>            break;<br>    }<br>    while(scanf("%s",&a)==1)<br>    {<br>        int len=strlen(a);<br>        int k=0;<br>        for(int i=0;i<len;i++)<br>        k=k*26+a[i]-'a';<br>        int w=int (prime*(k*gold-floor(k*gold)));<br>        if(find(k,w)==0)<br>        printf("eh\n");<br>    }<br>    return 0;<br>}<br>榪欐槸鐢ㄤ功涓彁鍒扮殑ELFhash()鍑芥暟錛屼篃娌′綋鐜板嚭鏃墮棿涓婄殑浼樺娍錛屼絾絀洪棿涓婄‘瀹炴槸鐪佷簡涓嶅皯錛屽彲鑳芥槸璁$畻ELFhash()鏃舵氮璐逛簡鏃墮棿鍚э紝澶勭悊瀛楃涓插搱甯屽啿紿佺殑鍔炴硶鐩墠鍙彂鐜頒簡綰垮艦鎺㈡祴娉曪紝铏界劧涓嶇悊鎯籌紝浣嗘効灝嗘潵鑳藉彂鐜板埆鐨勫姙娉曘?br>ELFhash鍑芥暟鍦║NIX緋葷粺V 鐗堟湰4涓殑“鍙墽琛岄摼鎺ユ牸寮?#8221;( Executable and Linking Format錛屽嵆ELF )涓細(xì)鐢ㄥ埌錛孍LF鏂囦歡鏍煎紡鐢ㄤ簬瀛樺偍鍙墽琛屾枃浠朵笌鐩爣鏂囦歡銆侲LFhash鍑芥暟鏄瀛楃涓茬殑鏁e垪銆傚畠瀵逛簬闀垮瓧絎︿覆鍜岀煭瀛楃涓查兘寰堟湁鏁堬紝瀛楃涓蹭腑姣忎釜瀛楃閮?鏈夊悓鏍風(fēng)殑浣滅敤錛屽畠宸у鍦板瀛楃鐨凙SCII緙栫爜鍊艱繘琛岃綆楋紝ELFhash鍑芥暟瀵逛簬鑳藉姣旇緝鍧囧寑鍦版妸瀛楃涓插垎甯冨湪鏁e垪琛ㄤ腑銆?br>#include<stdio.h><br>#include<string.h><br>#include<math.h><br>#define MOD 300005<br>struct abc<br>{<br>    bool boo;<br>    char akey[12];<br>    char bkey[12];<br>}hash[300005];</p> <p>int ELFhash(char *key)<br>{ <br>    unsigned long h=0;<br>    while(*key)<br>    { <br>        h=(h<<4)+*key++;<br>        unsigned long g=h&0Xf0000000L;<br>        if(g) h^=g>>24;<br>        h&=~g;<br>    }<br>    return h%MOD;<br>}<br>void insert(char a[],char b[],int w)<br>{<br>    if(!hash[w].boo)<br>    {    <br>        hash[w].boo=true;<br>        memcpy(hash[w].akey,a,sizeof(hash[w].akey));<br>        memcpy(hash[w].bkey,b,sizeof(hash[w].bkey));<br>    }<br>    else<br>        insert(a,b,w+1);     <br>}<br>int find(char b[],int w)<br>{<br>    if(hash[w].boo && strcmp(hash[w].bkey,b)==0)<br>    {<br>        printf("%s\n",hash[w].akey);<br>            return 1;<br>    }    <br>    else<br>    {<br>        if(!hash[w].boo)<br>            return 0;<br>        else<br>            return find(b,w+1);<br>    }    <br>}<br>int main()<br>{<br>    char a[12],b[12];<br>    scanf("%c",&a[0]);<br>    while(scanf("%s%s",a+1,b))<br>    {<br>        getchar();<br>        int w=ELFhash(b);<br>        insert(a,b,w);<br>        scanf("%c",&a[0]);<br>        if(a[0]=='\n')<br>            break;<br>    }<br>    while(scanf("%s",&b)==1)<br>    {<br>        int w=ELFhash(b);<br>        if(find(b,w)==0)<br>        printf("eh\n");<br>    }<br>    return 0;<br>}</p> <p>鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/cugbliang/archive/2008/05/30/2497539.aspx</a></p> <img src ="http://m.shnenglu.com/luyulaile/aggbug/88990.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/luyulaile/" target="_blank">luis</a> 2009-07-01 14:29 <a href="http://m.shnenglu.com/luyulaile/archive/2009/07/01/88990.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鍝堝笇琛?poj 3320 Jessica's Reading Problemhttp://m.shnenglu.com/luyulaile/archive/2009/07/01/88982.htmlluisluisWed, 01 Jul 2009 05:00:00 GMThttp://m.shnenglu.com/luyulaile/archive/2009/07/01/88982.htmlhttp://m.shnenglu.com/luyulaile/comments/88982.htmlhttp://m.shnenglu.com/luyulaile/archive/2009/07/01/88982.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/88982.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/88982.htmlpoj 3320 Jessica's Reading Problem http://acm.pku.edu.cn/JudgeOnline/problem?id=3320
榪欓亾棰樼洰鍙互鐢ㄥ搱甯岃〃娉曚篃鍙互鐢ㄤ簩鍒嗘煡鎵炬硶錛岀幇鍦ㄧ敤鍝堝笇錛屼簩鍒嗘煡鎵懼皢鍦ㄥ悗闈㈢殑鍗氬涓帹鍑恒?br>榪欓亾棰樼洰鐢ㄥ埌鐨勬槸鏁扮殑鍝堝笇錛屽浜庝笉闇瑕佸垹闄ょ殑瀛楀吀錛屽搱甯岃〃鏄竴縐嶇悊鎯崇殑瀹炵幇鏂瑰紡銆?br>1.鍝堝笇琛ㄧ殑鎻掑叆鍜屾煡鎵劇畻娉?br>(1)璁$畻鍑芥暟鍊糷(k)
(2)浠庢Ыh(k)寮濮嬶紝浣跨敤鍐茬獊瑙e喅絳栫暐瀹氫綅鍖呭惈鍏抽敭鐮乲鐨勭邯褰?br>(3)濡傛灉闇瑕佹彃鍏ワ紝鍐嶆Ы鍐呮彃鍏ュ嵆鍙?br>涓ょ鎿嶄綔鐨勫鏉傚害鍦ㄥ拷鐣ュ啿紿佹椂鏄疧(1)
2.鍝堝笇鍑芥暟鐨勯夊彇
鏈浣跨敤鏈綆鍗曠殑鐩存帴鍙栦綑娉曪紝闄ゆ暟涓篜RIME錛屾渶濂芥槸璐ㄦ暟錛屽彲鍑忓皬鍐茬獊銆?br>3.鍐茬獊瑙e喅鏂規(guī)硶
寮鏁e垪娉曪紙榪欎篃鏄ぇ澶氭暟鎯呭喌涓嬩嬌鐢ㄧ殑錛?br>寮鏁e垪娉曚篃鍙媺閾炬硶錛岄氫織鍦拌灝辨槸“鏃㈢劧鍏冪礌a鍜宐閮借鏀懼湪閲岄潰錛屽彧濂芥尋涓鎸や簡”銆傚嵆鍦ㄦ瘡涓Ы閲屽瓨鏀炬墍鏈夎鏀懼湪閲岄潰鐨勫厓绱犮傞偅涔堟庝箞鎶婂緢澶氱殑鍏冪礌鏀懼湪妲介噷鍛紵鍙湪妲介噷鏀句竴涓摼琛ㄨ〃澶村氨琛屼簡錛岃閾捐〃涓寘鍚墍鏈夎鏀懼湪妲介噷鐨勫厓绱犮備絾鍦ㄥ疄闄呬腑騫朵笉鏄繖鏍峰仛鐨勶紝鑰屾槸鑷繁緇存姢涓涓ぇ鏁扮粍錛岀粰閾捐〃鍏冪礌鍒嗛厤鏁扮粍涓嬫爣錛岃繖鏍鋒棦鏂逛究鍙堣妭鐪佹椂闂村拰絀洪棿銆傞偅涔堥摼琛ㄤ腑鐨勫厓绱犵殑鎺掑垪欏哄簭鎬庢牱鍛紵濡傛灉鎸夌収鏌ユ壘鎴愬姛鏃剁殑鏁堢巼錛屾樉鐒跺彲浠ユ寜鐓ц闂殑棰戠巼錛涜屽鏋滄寜鐓ф煡鎵懼け璐ョ殑鏁堢巼錛屽垯鍙互鎸夌収鍏抽敭鍊兼帓搴忥紝鍗充嬌鏌ユ壘澶辮觸涔熶笉闇瑕侀亶鍘嗘暣涓摼琛ㄣ傝繖灝辨槸鏁版嵁緇撴瀯涓殑鐩鎬簰鐭涚浘鐨勪袱涓棶棰橈紝搴旀牴鎹疄闄呮儏鍐靛崗璋冦?br>#include<stdio.h>
#define PRIME 99991
struct hashnode
{
    int key;
    int num;
    int next;
}a[1000005];
int b[1000005];
int hashl;
int hash(int num)
{
    int i;
    i=num%PRIME;
    while(a[i].next!=-1)
    {
        if(num>a[a[i].next].key)     //渚嬪hash琛ㄤ腑宸叉湁8錛屽悗闈㈠張鎻掑叆99999鏃訛紝閭d箞99999>8,闇瑕佺粰99999閲嶆柊鍒嗛厤                                                                           涓涓笅鏍囷紝鍗砲ashl錛屽嵆鍓嶉潰鎻愬埌鐨勫紑鏁e垪娉曡В鍐沖啿紿?br>            break;
        else if(num==a[a[i].next].key)    //渚嬪hash琛ㄤ腑宸叉湁8錛屽悗闈㈠張鎻掑叆8鏃訛紝榪欐槸鍙num++
            return a[i].next;
        i=a[i].next;                               //榪欏彞鐢ㄤ簬鏌ユ壘錛屽鏋滃搱甯岃〃涓凡鏈?鍜?9999錛岄偅涔堜綘瑕佹壘8鏃禷[8].next鎸囧悜鐨勬槸杈冨ぇ鐨?9999錛岄偅涔堜綘灝卞繀欏繪部鐫next璧頒笅鍘伙紝鍥犱負(fù)榪欎釜鎵璋撶殑閾捐〃鏄寜鍑忓皬鐨勯『搴忔帓搴忕殑銆傛渶緇堣蛋鍒皉eturn a[i].next鎺ㄥ嚭while 寰幆
    }
    a[hashl].key=num;
    a[hashl].next=-1;
    a[hashl].num=0;
    a[hashl].next=a[i].next;
    a[i].next=hashl;
    hashl++;                                //浠ヤ笂6琛岀敤浜庣涓嬈℃彃鍏ュ厓绱狅紙鍗硍hile寰幆鏈墽琛岋級鎴杦hile寰幆break閫鍑虹殑鎻掑叆
    return hashl-1;
}

int main()
{
    int n,i,tmp,left,ans;
    while(scanf("%d",&n)!=EOF)
    {
        for(i=0;i<PRIME;i++)
            a[i].next=-1;
        hashl=PRIME;
        left=0;
        ans=1;
        scanf("%d",&b[0]);
        tmp=hash(b[0]);
        a[tmp].num++;
        for(i=1;i<n;i++)
        {
            scanf("%d",&b[i]);
            tmp=hash(b[i]);
            a[tmp].num++;
            if(a[tmp].num<=1)     //鎻掑叆鐨勬暟瀛椾互鍓嶆病鏈夊嚭鐜拌繃錛岃偗瀹氬寘鍚湪ans閲?br>            {
                ans=i-left+1;
                continue;
            }                        
            while(1)                     //瀵瑰簲浜巌f鐨別lse,鍗砤[tmp].num>=2錛屽嵆鎻掑叆鐨勬暟瀛椾互鍓嶅嚭鐜拌繃銆傚鏋滄槸鍦╨eft浣嶇疆鍑虹幇榪囷紝鍒檒eft鍙崇Щ錛涘鏋滄槸鍦?#8220;left鍙寵竟錛宨宸﹁竟”鍑虹幇榪囷紝鍒欒鏄庣洰鍓嶇殑i-left+1鍜宎ns閮藉彲浠ュ寘鎷叏閮ㄧ殑鐭ヨ瘑鐐癸紝褰撶劧鍙栧皬鐨勪簡錛?nbsp;  
            {
                tmp=hash(b[left]);
                if(a[tmp].num<=1)
                    break;
                a[tmp].num--;
                left++;
            }
            if(ans>i-left+1)
                ans=i-left+1;
        }
        printf("%d\n",ans);
    }
    return 0;
}


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/cugbliang/archive/2008/06/01/2497376.aspx



luis 2009-07-01 13:00 鍙戣〃璇勮
]]>
鐭沖瓙鍚堝茍闂http://m.shnenglu.com/luyulaile/archive/2009/06/30/88923.htmlluisluisTue, 30 Jun 2009 12:12:00 GMThttp://m.shnenglu.com/luyulaile/archive/2009/06/30/88923.htmlhttp://m.shnenglu.com/luyulaile/comments/88923.htmlhttp://m.shnenglu.com/luyulaile/archive/2009/06/30/88923.html#Feedback0http://m.shnenglu.com/luyulaile/comments/commentRss/88923.htmlhttp://m.shnenglu.com/luyulaile/services/trackbacks/88923.html杞笘
鍦ㄤ竴涓渾褰㈡搷鍦虹殑鍥涘懆鎽嗘斁鐫n鍫嗙煶瀛愩傜幇瑕佸皢鐭沖瓙鏈夋搴忓湴鍚堝茍鎴愪竴鍫嗐傝瀹氭瘡嬈″彧鑳介夌浉閭?cè)潥?鍫嗙煶瀛愬悎騫舵垚鏂扮殑涓鍫嗭紝騫跺皢鏂扮殑涓鍫嗙煶瀛愭暟璁頒負(fù)璇ユ鍚堝茍鐨勫緱鍒嗐傝瘯璁捐涓涓畻娉曪紝璁$畻鍑哄皢n鍫嗙煶瀛愬悎騫舵垚涓鍫嗙殑鏈灝忓緱鍒嗗拰鏈澶у緱鍒嗐?nbsp;
 
 
鍋囪鏈塶鍫嗙煶瀛愰渶瑕佸悎騫?鍙互璁捐涓涓?*n-1涓厓绱犵殑鏁扮粍鏉ュ瓨鍌ㄦ瘡鍫嗙煶瀛愮殑涓暟銆?
鍒嗘瀽鏈浼樿В鐨勭粨鏋勶細(xì)鍋囪鏈夌煶澶碅iAi+1……Aj闇瑕佸悎騫?綆璁頒負(fù)A[i,j].濡傛灉璁炬渶鍚庝竴嬈″悎騫跺彂鐢熷湪Ak涓嶢k+1涔嬮棿(i<=k<j),鍒欐渶鍚庝竴涓悎騫剁殑寰楀垎涓篈i……Aj鍫嗙煶澶寸殑涓暟鐨勬誨拰璁頒負(fù)totalValue(i,j).(涓嶇浣犳渶鍚庝竴嬈″悎騫跺彂鐢熷湪鍝釜浣嶇疆,totalValue(i,j)鐨勫奸兘鏄竴鏍風(fēng)殑)鍥犳鎬葷殑寰楀垎絳変簬A[i,k]鐨勫緱鍒嗗姞涓夾[k+1,j]鐨勫緱鍒嗗啀鍔犱笂totalValue(i,j).
鍙互鍋囪璁$畻A[0,n-1]鐨勪竴涓渶浼樻搴忔墍鍖呭惈鐨勮綆楀瓙閾続[0,k]鍜孉[K+1,n-1]鐨勬搴忎篃鏄渶浼樼殑.
 璇佹槑:
 鍋囪瀛樺湪涓涓瘮璁$畻A[0,k]鐨勬搴忓緱鍒嗘洿灝戠殑嬈″簭,鍒欑敤姝ゆ搴忔潵鏇挎崲鍘熸潵璁$畻A[0,k]鐨勬搴?閭d箞姝ゆ椂璁$畻A[0,n-1]嬈″簭鐨勫緱鍒嗗氨浼?xì)姣旀渶浼樻搴忔墍寰楀埌鐨勫垎鏁版洿灝?榪欎笌鍋囪鐩哥煕鐩?鍚岀悊鍙瘉鏄?璁$畻A[0,n-1]鐨勪竴涓渶浼樻搴忔墍鍖呭惈鐨勫彟涓涓綆楀瓙閾続[k+1,n-1]鐨勬搴忎篃鏄渶浼樼殑!

緇間笂鎵榪?姝ら婊¤凍鏈浼樺瓙緇撴瀯鎬ц川,鍥犳鍙互鐢ㄥ姩鎬佽鍒掔畻娉曟潵姹傝В.
寤虹珛閫掑綊鍏崇郴
璁緈[i][j]琛ㄧずA[i,j]鐨勮綆楃粨鏋?
褰搃=j鏃?琛ㄧず鍙湁涓鍫嗙煶澶?涓嶈兘鍚堝茍,鍥犳寰楀垎涓洪浂,鎵浠[i,j]=0;
褰搃<j鏃?鍙埄鐢ㄦ渶浼樺瓙緇撴瀯鎬ц川鏉ヨ綆梞[i][j],
m[i,j]=m[i,k]+m[k+1,j]+totalValue(i,j)(i<=k<j)

鍙敤鐭╅樀榪炰箻鐨勬渶浼樿綆楁搴忛棶棰樻潵姹傝В榪欓.鍙夌敤鑷《鍚戜笅鐨勫蹇樺綍綆楁硶鎴栨槸鑷簳鍚戜笂鐨勫姩鎬佽鍒掔畻娉?

浠ヤ笅浠g爜浣跨敤鍔ㄦ佽鍒掔畻娉?

void MatrixChain(int *p,int n,int **m,int flag) //鐭╅樀榪炰箻綆楁硶
{
for(int i=0;i<n;i++)
m[i][i]=0;
for(int r=2;r<n;r++)
for(int i=0;i<n-r+1;i++)
{
int j=i+r-1;
int temp=totalValue(i,j,p);
m[i][j]=m[i+1][j]+temp;
for(int k=i+1;k<j;k++)
{
int t=m[i][k]+m[k+1][j]+temp;
if(!flag) //姹傛渶灝忓緱鍒?
{
 if(t<m[i][j])
 m[i][j]=t;
}
else //姹傛渶澶у緱鍒?
if(t>m[i][j])
m[i][j]=t;
}
}
}
MatrixChain(inputNum,2*n-1,m,0); //璁$畻鏈灝忓緱鍒?
int resultMin=m[0][n-1];
for(i=1;i<=n-1;i++)
if(resultMin>m[i][n-1+i])
resultMin=m[i][n-1+i];

MatrixChain(inputNum,2*n-1,m,1); //璁$畻鏈澶у緱鍒?
int resultMax=m[0][n-1];
for(i=1;i<=n-1;i++)
if(resultMax<m[i][n-1+i])
resultMax=m[i][n-1+i]; 
 
 
 


鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/lyflower/archive/2008/03/05/2150239.aspx

涓錛庤瘯棰?br>      鍦ㄤ竴涓洯褰㈡搷鍦虹殑鍥涘懆鎽嗘斁N鍫嗙煶瀛愶紙N≤100錛夛紝鐜拌灝嗙煶瀛愭湁嬈″簭鍦板悎騫舵垚涓鍫嗐傝瀹?br>      姣忔鍙兘閫夌浉閭?cè)潥勪袱鍫嗗悎迤堟垚鏂扮殑涓鍫嗭紝騫跺皢鏂扮殑涓鍫嗙殑鐭沖瓙鏁幫紝璁頒負(fù)璇ユ鍚堝茍鐨勫緱鍒嗐?br>      緙栦竴紼嬪簭錛岀敱鏂囦歡璇誨叆鍫嗘暟N鍙婃瘡鍫嗙殑鐭沖瓙鏁幫紙≤錛掞紣錛夛紝
      鈶犻夋嫨涓縐嶅悎騫剁煶瀛愮殑鏂規(guī)錛屼嬌寰楀仛N錛?嬈″悎騫訛紝寰楀垎鐨勬誨拰鏈灝忥紱
      鈶¢夋嫨涓縐嶅悎騫剁煶瀛愮殑鏂規(guī)錛屼嬌寰楀仛N錛?嬈″悎騫訛紝寰楀垎鐨勬誨拰鏈澶с?br>      渚嬪錛屾墍紺虹殑錛斿爢鐭沖瓙錛屾瘡鍫嗙煶瀛愭暟錛堜粠鏈涓婇潰鐨勪竴鍫嗘暟璧鳳紝欏烘椂閽堟暟錛変緷
      嬈′負(fù)錛旓紩錛欙紨銆傚垯錛撴鍚堝茍寰楀垎鎬誨拰鏈灝忕殑鏂規(guī)錛氾紭錛嬶紤錛擄紜錛掞紥錛濓紨錛?br>      寰楀垎鏈澶х殑鏂規(guī)涓猴細(xì)錛戯紨錛嬶紤錛橈紜錛掞紥錛濓紩錛?br>      杈撳叆鏁版嵁錛?br>      鏂囦歡鍚嶇敱閿洏杈撳叆錛岃鏂囦歡鍐呭涓猴細(xì)
      絎竴琛屼負(fù)鐭沖瓙鍫嗘暟N錛?br>      絎簩琛屼負(fù)姣忓爢鐨勭煶瀛愭暟錛屾瘡涓や釜鏁頒箣闂寸敤涓涓┖鏍肩鍒嗛殧銆?br>      杈撳嚭鏁版嵁錛?br>      杈撳嚭鏂囦歡鍚嶄負(fù)output.txt
      浠庣1鑷崇N琛屼負(fù)寰楀垎鏈灝忕殑鍚堝茍鏂規(guī)銆傜N錛?琛屾槸絀鴻銆備粠絎琋錛?琛屽埌絎?N錛?琛屾槸寰?br>      鍒嗘渶澶у悎騫舵柟妗堛?br>      姣忕鍚堝茍鏂規(guī)鐢∟琛岃〃紺猴紝鍏朵腑絎琲琛岋紙1≤i≤N錛夎〃紺虹i 嬈″悎騫跺墠鍚勫爢鐨勭煶瀛愭暟錛堜緷
      欏烘椂閽堟搴忚緭鍑猴紝鍝竴鍫嗗厛杈撳嚭鍧囧彲錛夈?瑕佹眰灝嗗緟鍚堝茍鐨勪袱鍫嗙煶瀛愭暟浠ョ浉搴旂殑璐熸暟琛ㄧず錛屼互渚挎爣璇嗐?/font>

      杈撳叆杈撳嚭鑼冧緥錛?br>      杈撳叆鏂囦歡鍐呭錛?br>      錛?br>      錛?錛曪紮 錛?br>      杈撳嚭鏂囦歡鍐呭錛?br>      錛嶏紨 錛?錛?錛嶏紨
      錛嶏紭錛嶏紩 錛?br>      錛嶏紤錛?錛嶏紮
      錛掞紥
      
      錛?錛嶏紩 錛嶏紮 錛?br>      錛?錛嶏紤錛?錛嶏紨
      錛嶏紨錛嶏紤錛?br>      錛掞紥

      浜岋紟綆楁硶鍒嗘瀽
      绔炶禌涓鏁伴夋墜閮戒笉綰﹁屽悓鍦伴噰鐢ㄤ簡灝藉彲鑳介艱繎鐩爣鐨勮椽蹇冩硶鏉ラ愭鍚堝茍錛氫粠鏈涓婇潰
      鐨勪竴鍫嗗紑濮嬶紝娌塊『鏃墮拡鏂瑰悜鎺掓垚涓涓簭鍒椼?絎竴嬈¢夊緱鍒嗘渶灝忥紙鏈澶э級鐨勭浉閭諱袱鍫嗗悎騫訛紝
      褰㈡垚鏂扮殑涓鍫嗭紱鎺ヤ笅鏉ワ紝鍦∟錛?鍫嗕腑閫夊緱鍒嗘渶灝忥紙鏈澶э級鐨勭浉閭諱袱鍫嗗悎騫?#8230;…錛屼緷嬈$被鎺紝
      鐩磋嚦鎵鏈夌煶瀛愮粡N錛?嬈″悎騫跺悗褰㈡垚涓鍫嗐?/font>

      渚嬪鏈夛紪鍫嗙煶瀛愶紝姣忓爢鐭沖瓙鏁幫紙浠庢渶涓婇潰涓鍫嗘暟璧鳳紝欏烘椂閽堟暟錛変緷嬈′負(fù)錛?錛旓紪 錛?錛?錛?
      瑕佹眰閫夋嫨涓縐嶅悎騫剁煶瀛愮殑鏂規(guī)錛屼嬌寰楀仛錛曟鍚堝茍錛屽緱鍒嗙殑鎬誨拰鏈灝忋?br>      鎸夌収璐績娉曪紝鍚堝茍鐨勮繃紼嬪涓嬶細(xì)
      姣忔鍚堝茍寰楀垎
      絎竴嬈″悎騫?錛?錛?錛?錛?錛?錛?->錛?br>      絎簩嬈″悎騫?錛?錛?錛?錛?錛?nbsp;   ->錛?br>      絎笁嬈″悎騫?錛?錛?錛?錛?nbsp;      ->錛?br>      絎洓嬈″悎騫?錛?錛?錛?nbsp;         ->錛戯紩
      絎簲嬈″悎騫?錛戯紩 錛?nbsp;          ->錛掞紨
      24
      鎬誨緱鍒嗭紳錛曪紜錛欙紜錛欙紜錛戯紩錛嬶紥錛旓紳錛栵紥

      浣嗘槸褰撴垜浠粩緇嗙悽紓ㄥ悗錛屽彲寰楀嚭鍙︿竴涓悎騫剁煶瀛愮殑鏂規(guī)錛?br>      姣忔鍚堝茍寰楀垎
      絎竴嬈″悎騫?錛?錛?錛?錛?錛?錛?nbsp; ->錛?br>      絎簩嬈″悎騫?錛?錛?錛?錛?錛?nbsp;    ->錛戯紦
      絎笁嬈″悎騫?錛戯紦 錛?錛?錛?nbsp;     ->錛?br>      絎洓嬈″悎騫?錛戯紦 錛?錛?nbsp;        ->錛戯紤
      絎簲嬈″悎騫?錛戯紦 錛戯紤          ->錛掞紨
      24
      鎬誨緱鍒嗭紳錛楋紜錛栵紜錛戯紤錛嬶紤錛擄紜錛掞紨錛濓紪錛?br>      鏄劇劧錛屽悗鑰呮瘮璐績娉曞緱鍑虹殑鍚堝茍鏂規(guī)鏇翠紭銆?棰樼洰涓殑紺轟緥鏁呮剰閫犳垚涓涓椽蹇冩硶瑙i鐨?br>      鍋囧儚錛岃浣胯鑰呰繘鍏?#8220;闄烽槺”銆備負(fù)浜嗗府鍔╄鑰呬粠榪欎釜“闄烽槺”閲岃蛋鍑烘潵錛?鎴戜滑鍏堟潵鏄庣‘涓涓棶棰橈細(xì)

      錛戯紟鏈浣?jīng)_悎騫惰繃紼嬬鍚堟渶浣?jīng)_師鐞?br>      浣跨敤璐績娉曡嚦鎵浠ュ彲鑳藉嚭閿欙紝
      鏄洜涓烘瘡涓嬈¢夋嫨寰楀垎鏈灝忥紙鏈澶э級鐨勭浉閭諱袱鍫嗗悎騫訛紝涓嶄竴瀹氫繚璇佷綑涓嬬殑鍚堝茍榪囩▼鑳藉鑷存渶浼樿В銆傝仾鏄庣殑璇昏呴┈涓婁細(xì)鎯沖埌涓縐嶇悊鎯崇殑鍋囪錛氬鏋淣錛?嬈″悎騫剁殑鍏ㄥ眬鏈浼樿В鍖呭惈浜嗘瘡涓嬈″悎騫剁殑瀛愰棶棰樼殑鏈浼樿В錛岄偅涔堢粡榪欐牱鐨凬錛?嬈″悎騫跺悗鐨勫緱鍒嗘誨拰蹇呯劧鏄渶浼樼殑銆?br>      渚嬪涓婁緥涓浜旀鍚堝茍鐭沖瓙鏁板垎鍒負(fù)錛戯紦鍜岋紤錛戠殑鐩擱偦涓ゅ爢銆?
      榪欎袱鍫嗙煶澶村垎鍒敱鏈鍒濈殑絎紤錛岋紥錛岋紦鍫嗭紙鐭沖ご鏁板垎鍒負(fù)錛擄紝錛旓紝錛栵級鍜岀錛旓紝錛曪紝錛栧爢錛堢煶澶存暟鍒嗗埆涓猴紩錛岋紨錛岋紥錛夌粡錛旀鍚堝茍鍚庡艦鎴愮殑銆備簬鏄棶棰樺張褰掔粨涓哄浣曚嬌寰楄繖涓や釜瀛愬簭鍒楃殑N錛?
      嬈″悎騫剁殑寰楀垎鎬誨拰鏈浼樸備負(fù)浜嗗疄鐜拌繖涓鐩爣錛屾垜浠皢絎紤涓簭鍒楀張涓鍒嗕負(fù)浜岋細(xì)絎紤銆侊紥鍫嗘瀯鎴愬瓙搴忓垪錛戯紝
      絎紦鍫嗕負(fù)瀛愬簭鍒楋紥銆傜涓嬈″悎騫跺瓙搴忓垪錛戜腑鐨勪袱鍫嗭紝寰楀垎錛楋紱
      絎簩嬈″啀灝嗕箣涓庡瓙搴忓垪錛掔殑涓鍫嗗悎騫訛紝寰楀垎錛戯紦銆傛樉鐒跺浜庣錛戜釜瀛愬簭鍒楁潵璇達(dá)紝榪欐牱鐨勫悎騫舵柟妗堟槸鏈浼樼殑銆傚悓鏍鳳紝鎴戜滑灝嗙錛掍釜瀛愬簭鍒椾篃涓鍒嗕負(fù)浜岋紱絎紨鍫嗕負(fù)瀛愬簭鍒楋紤錛岀錛曪紝錛栧爢鏋勬垚瀛愬簭鍒楋紥銆傜涓夋鍚堝茍瀛愬簭鍒楋紥涓殑錛掑爢錛屽緱鍒嗭紪錛涚鍥涙鍐嶅皢涔嬩笌瀛愬簭鍒楋紤涓殑涓鍫嗗悎騫訛紝寰楀垎錛戯紦銆傛樉鐒跺浜庣浜屼釜瀛愬簭鍒楁潵璇達(dá)紝榪欐牱鐨勫悎騫舵柟妗堜篃鏄渶浼樼殑銆?
      鐢辨寰楀嚭涓涓粨璁衡攢鈹錛栧爢鐭沖瓙緇?br>      榪囪繖鏍風(fēng)殑錛曟鍚堝茍鍚庯紝寰楀垎鐨勬誨拰鏈灝忋傛垜浠妸姣忎竴嬈″悎騫跺垝鍒嗕負(fù)闃舵錛屽綋鍓嶉樁孌典腑璁$畻鍑虹殑寰楀垎鍜屼綔涓虹姸鎬侊紝
      濡備綍鍦ㄥ墠涓嬈″悎騫剁殑鍩虹涓婂畾涔変竴涓兘浣跨洰鍓嶅緱鍒嗘誨拰鏈澶х殑鍚堝茍鏂規(guī)浣滀負(fù)涓嬈″喅絳栥傚緢鏄劇劧錛屾煇闃舵鐨勭姸鎬佺粰瀹氬悗錛屽垯浠ュ悗鍚勯樁孌電殑鍐崇瓥涓嶅彈榪欓樁孌典互鍓嶅悇孌電姸鎬佺殑褰卞搷銆?
      榪欑鏃犲悗鏁堟х殑鎬ц川絎︽渶浣?jīng)_師鐞嗭紝鍥犳鍙互鐢ㄥ姩鎬佽鍒掔殑綆楁硶姹傝В銆?/font>

      錛掞紟鍔ㄦ佽鍒掔殑鏂瑰悜鍜屽垵鍊肩殑璁懼畾
      閲囩敤鍔ㄦ佽鍒掓眰瑙g殑鍏抽敭鏄‘瀹氭墍鏈夌煶瀛愬爢瀛愬簭鍒楃殑鏈浣?jīng)_悎騫舵柟妗堛?榪欎簺鐭沖瓙鍫嗗瓙搴忓垪鍖呮嫭錛?br>      锝?jīng)绗Q戝爢銆佺錛掑爢锝濄侊經(jīng)絎紥鍫嗐佺錛撳爢锝濄?#8230;…銆侊經(jīng)絎琋鍫嗐佺錛戝爢锝濓紱
      锝?jīng)绗Q戝爢銆佺錛掑爢銆佺錛撳爢锝濄侊經(jīng)絎紥鍫嗐佺錛撳爢銆佺錛斿爢锝濄?#8230;…銆侊經(jīng)絎琋鍫嗐佺錛戝爢銆佺錛掑爢锝濓紱……
      锝?jīng)绗Q戝爢銆?#8230;…銆佺N鍫嗭綕锝?jīng)绗Q戝爢銆?#8230;…銆佺N鍫嗐佺錛戝爢锝?#8230;…锝?jīng)绗琋鍫嗐佺錛戝爢銆?#8230;…銆佺N錛嶏紤鍫嗭綕

      涓轟簡渚夸簬榪愮畻錛屾垜浠敤銆攊錛宩銆曡〃紺轟竴涓粠絎琲鍫嗘暟璧鳳紝欏烘椂閽堟暟j鍫嗘椂鐨勫瓙搴忓垪锝?jīng)绗琲鍫嗐佺i錛嬶紤鍫嗐?#8230;…銆佺錛坕錛媕錛?錛塵od n鍫嗭綕
      瀹冪殑鏈浣?jīng)_悎騫舵柟妗堝寘鎷袱涓俊鎭細(xì)
      鈶犲湪璇ュ瓙搴忓垪鐨勫悇鍫嗙煶瀛愬悎騫舵垚涓鍫嗙殑榪囩▼涓紝鍚勬鍚堝茍寰楀垎鐨勬誨拰錛?br>      鈶″艦鎴愭渶浣?jīng)_緱鍒嗗拰鐨勫瓙搴忓垪錛戝拰瀛愬簭鍒楋紥銆傜敱浜庝袱涓瓙搴忓垪鏄浉閭?cè)潥勫Q?鍥犳鍙渶璁頒綇瀛愬簭鍒楋紤鐨勫爢鏁幫紱
      璁?br>      f銆攊錛宩銆曗攢鈹灝嗗瓙搴忓垪銆攊錛宩銆曚腑鐨刯鍫嗙煶瀛愬悎騫舵垚涓鍫嗙殑鏈浣?jīng)_緱鍒嗗拰錛?br>      c銆攊錛宩銆曗攢鈹灝嗐攊錛宩銆曚竴鍒嗕負(fù)浜岋紝鍏朵腑瀛愬簭鍒楋紤鐨勫爢鏁幫紱
      錛堬紤≤i≤N錛岋紤≤j≤N錛?br>      鏄劇劧錛屽姣忎竴鍫嗙煶瀛愭潵璇達(dá)紝瀹冪殑
      f銆攊錛岋紤銆曪紳錛?
      c銆攊錛岋紤銆曪紳錛?錛堬紤≤i≤N錛?br>      瀵逛簬瀛愬簭鍒椼攊錛宩銆曟潵璇達(dá)紝鑻ユ眰鏈灝忓緱鍒嗘誨拰錛宖銆攊錛宩銆曠殑鍒濆鍊間負(fù)∞錛?鑻ユ眰鏈澶у緱鍒嗘誨拰錛宖銆攊錛宩銆曠殑鍒濆鍊間負(fù)錛愩傦紙錛?#8804;i≤N錛岋紥≤j≤N錛夈?br>      鍔ㄦ佽鍒掔殑鏂瑰悜鏄『鎺?鍗充粠涓婅屼笅)銆傚厛鑰冭檻鍚簩鍫嗙煶瀛愮殑N涓瓙搴忓垪錛堝悇瀛愬簭鍒楀垎鍒粠絎紤鍫嗐佺錛掑爢銆?#8230;…銆佺N鍫嗘暟璧鳳紝欏烘椂閽堟暟錛掑爢錛夌殑鍚堝茍鏂規(guī)
      f銆旓紤錛岋紥銆曪紝f銆旓紥錛岋紥銆曪紝……錛宖銆擭錛岋紥銆?br>      c銆旓紤錛岋紥銆曪紝c銆旓紥錛岋紥銆曪紝……錛宑銆擭錛岋紥銆?br>      鐒跺悗鑰冭檻鍚笁鍫嗙煶瀛愮殑錛釜瀛愬簭鍒楋紙鍚勫瓙搴忓垪鍒嗗埆浠庣錛戝爢銆佺錛掑爢銆?#8230;…銆佺錛爢鏁拌搗錛岄『鏃墮拡鏁幫紦鍫嗭級鐨勫悎騫舵柟妗?br>      f銆旓紤錛岋紦銆曪紝f銆旓紥錛岋紦銆曪紝……錛宖銆擭錛岋紦銆?br>      c銆旓紤錛岋紦銆曪紝c銆旓紥錛岋紦銆曪紝……錛宑銆擭錛岋紦銆?br>      ……
      渚濇綾繪帹錛岀洿鑷寵冭檻浜嗗惈N鍫嗙煶瀛愮殑N涓瓙搴忓垪錛堝悇瀛愬簭鍒楀垎鍒粠絎紤鍫嗐佺錛掑爢銆?……銆佺N鍫嗘暟璧鳳紝欏烘椂閽堟暟N鍫嗭級鐨勫悎騫舵柟妗?br>      f銆旓紤錛孨銆曪紝f銆旓紥錛孨銆曪紝……錛宖銆擭錛孨銆?br>      c銆旓紤錛孨銆曪紝c銆旓紥錛孨銆曪紝……錛宑銆擭錛孨銆?br>      鏈鍚庯紝鍦ㄥ瓙搴忓垪銆旓紤錛孨銆曪紝銆旓紥錛孨銆曪紝……錛屻擭錛孨銆曚腑錛岄夋嫨寰楀垎鎬誨拰錛坒鍊鹼級鏈灝忥紙鎴栨渶澶э級鐨勪竴涓瓙搴忓垪銆攊錛孨銆曪紙錛?#8804;i≤N錛夛紝鐢辨鍑哄彂鍊掓帹鍚堝茍榪囩▼銆?/font>

      錛擄紟鍔ㄦ佽鍒掓柟紼嬪拰鍊掓帹鍚堝茍榪囩▼
      瀵瑰瓙搴忓垪銆攊錛宩銆曟渶鍚庝竴嬈″悎騫訛紝鍏跺緱鍒嗕負(fù)絎琲鍫嗘暟璧鳳紝欏烘椂閽堟暟j鍫嗙殑鐭沖瓙鎬繪暟t銆傝鍚堝茍鐨勪袱鍫嗙煶瀛愭槸鐢卞瓙搴忓垪銆攊錛宬銆曞拰銆旓紙i錛媖錛嶏紤錛塵od
      n錛嬶紤錛宩錛峩銆曪紙錛?#8804;k≤j錛嶏紤錛夌粡鏈夐檺嬈″悎騫跺艦鎴愮殑銆備負(fù)浜嗘眰鍑烘渶浣?jīng)_悎騫舵柟妗堜腑鐨刱鍊鹼紝鎴戜滑瀹氫箟涓涓姩鎬佽鍒掓柟紼嬶細(xì)
      褰撴眰鏈澶у緱鍒嗘誨拰鏃?br>      f銆攊錛宩銆曪紳max锝?jīng)f銆攊錛宬銆曪紜f銆攛錛宩-k銆曪紜t锝?br>      錛?#8804;k≤j錛嶏紤
      c銆攊錛宩銆曪紳k鈹?f銆攊錛宩銆曪紳f銆攊錛宬銆曪紜f銆攛錛宩-k銆曪紜t
      錛堬紥≤锝?#8804;锝庯紝錛?#8804;锝?#8804;锝庯級

      褰撴眰鏈灝忓緱鍒嗘誨拰鏃?br>      f銆攊錛宩銆曪紳min锝?jīng)f銆攊錛宬銆曪紜f銆攛錛宩錛峩銆曪紜t锝?br>      錛?#8804;k≤j錛嶏紤
      c銆攊錛宩銆曪紳k鈹?f銆攊錛宩銆曪紳f銆攊錛宬銆曪紜f銆攛錛宩-k銆曪紜t
      錛堬紥≤锝?#8804;锝庯紝錛?#8804;锝?#8804;锝庯級
      鍏朵腑x錛濓紙i錛媖錛嶏紤錛塵odn錛嬶紤錛屽嵆絎琲鍫嗘暟璧鳳紝欏烘椂閽堟暟k錛嬶紤鍫嗙殑鍫嗗簭鍙楓?/font>

      渚嬪瀵逛笂闈緥瀛愪腑鐨勶紪(錛?錛?錛?錛?錛?錛?)鍫嗙煶瀛愶紝鎸夊姩鎬佽鍒掓柟紼嬮『鎺ㄦ渶灝忓緱鍒嗗拰銆?渚濇寰楀嚭鍚簩鍫嗙煶瀛愮殑錛栦釜瀛愬簭鍒楃殑鍚堝茍鏂規(guī)
      f銆旓紤錛岋紥銆曪紳錛?f銆旓紥錛岋紥銆曪紳錛戯紣 f銆旓紦 錛岋紥銆曪紳錛戯紤
      c銆旓紤錛岋紥銆曪紳錛?c銆旓紥錛岋紥銆曪紳錛?c銆旓紦錛岋紥銆曪紳錛?br>      f銆旓紨錛岋紥銆曪紳錛?f銆旓紩錛岋紥銆曪紳錛?f銆旓紪錛岋紥銆曪紳錛?br>      c銆旓紨錛岋紥銆曪紳錛?c銆旓紩錛?錛掋曪紳錛?c銆旓紪錛岋紥銆曪紳錛?/font>

      鍚笁鍫嗙煶瀛愮殑錛?錛?錛?錛?錛?錛?錛?)涓瓙搴忓垪鐨勫悎騫舵柟妗?br>      f銆旓紤錛岋紦銆曪紳錛掞紣 f銆旓紥錛岋紦銆曪紳錛掞紩 f銆旓紦錛岋紦銆曪紳錛掞紨
      c銆旓紤錛岋紦銆曪紳錛?c銆旓紥錛岋紦銆曪紳錛?c銆旓紦錛岋紦銆曪紳錛?br>      f銆旓紨錛岋紦銆曪紳錛戯紬 f銆旓紩錛岋紦銆曪紳錛戯紨 f銆旓紪錛岋紦銆曪紳錛戯紨
      c銆旓紨錛岋紦銆曪紳錛?c銆旓紩錛岋紦銆曪紳錛?c銆旓紪錛岋紦銆曪紳錛?/font>

      鍚洓鍫嗙煶瀛愮殑錛?錛?錛?錛?錛?錛?錛?)涓瓙搴忓垪鐨勫悎騫舵柟妗?br>      f銆旓紤錛岋紨銆曪紳錛擄紪 f銆旓紥錛岋紨銆曪紳錛擄紭 f銆旓紦錛岋紨銆曪紳錛擄紨
      c銆旓紤錛岋紨銆曪紳錛?c銆旓紥錛岋紨銆曪紳錛?c銆旓紦錛岋紨銆曪紳錛?br>      f銆旓紨錛岋紨銆曪紳錛掞紭 f銆旓紩錛岋紨銆曪紳錛掞紪 f銆旓紪錛岋紨銆曪紳錛掞紮
      c銆旓紨錛岋紨銆曪紳錛?c銆旓紩錛岋紨銆曪紳錛?c銆旓紪錛岋紨銆曪紳錛?/font>

      鍚簲鍫嗙煶瀛愮殑錛?錛?錛?錛?錛?錛?錛?)涓瓙搴忓垪鐨勫悎騫舵柟妗?br>      f銆旓紤錛岋紩銆曪紳錛曪紤 f銆旓紥錛岋紩銆曪紳錛旓紭 f銆旓紦錛岋紩銆曪紳錛旓紩
      c銆旓紤錛岋紩銆曪紳錛?c銆旓紥錛岋紩銆曪紳錛?c銆旓紦錛岋紩銆曪紳錛?
      f銆旓紨錛岋紩銆曪紳錛旓紤 f銆旓紩錛岋紩銆曪紳錛旓紦 f銆旓紪錛岋紩銆曪紳錛旓紩
      c銆旓紨錛岋紩銆曪紳錛?c銆旓紩錛岋紩銆曪紳錛?c銆旓紪錛岋紩銆曪紳錛?/font>

      鍚叚鍫嗙煶瀛愮殑錛?錛?錛?錛?錛?錛?錛?)涓瓙搴忓垪鐨勫悎騫舵柟妗?br>      f銆旓紤錛岋紪銆曪紳錛栵紤 f銆旓紥錛岋紪銆曪紳錛栵紥 f銆旓紦錛岋紪銆曪紳錛栵紤
      c銆旓紤錛岋紪銆曪紳錛?c銆旓紥錛岋紪銆曪紳錛?c銆旓紦錛岋紪銆曪紳錛?
      f銆旓紨錛岋紪銆曪紳錛栵紤 f銆旓紩錛岋紪銆曪紳錛栵紤 f銆旓紪錛岋紪銆曪紳錛栵紥
      c銆旓紨錛岋紪銆曪紳錛?c銆旓紩錛岋紪銆曪紳錛?c銆旓紪錛岋紪銆曪紳錛?/font>

      f銆旓紤錛岋紪銆曟槸f銆旓紤錛岋紪銆曪紝锝嗐旓紥錛岋紪銆曪紝……f銆旓紪錛岋紪銆曚腑鐨勬渶灝忓鹼紝琛ㄦ槑鏈灝忓緱鍒嗗拰鏄敱搴忓垪銆旓紤錛岋紪銆曠粡錛曟鍚堝茍寰楀嚭鐨勩傛垜浠粠榪欎釜搴忓垪鍑哄彂錛?
      鎸変笅榪版柟娉曞掓帹鍚堝茍榪囩▼錛?br>      鐢眂銆旓紤錛岋紪銆曪紳錛撳彲鐭ワ紝絎紩嬈″悎騫剁殑涓ゅ爢鐭沖瓙鍒嗗埆鐢卞瓙搴忓垪銆旓紤錛岋紦銆曞拰瀛愬簭鍒椼旓紨錛?銆曠粡錛旀鍚堝茍鍚庡緱鍑恒傚叾涓璫銆旓紤錛岋紦銆曪紳錛掑彲鐭ョ敱瀛愬簭鍒椼旓紤錛岋紦銆曞悎騫舵垚鐨勪竴鍫嗙煶瀛愭槸鐢卞瓙搴忓垪銆旓紤錛岋紥銆曞拰絎笁鍫嗗悎騫惰屾潵鐨勩傝宑銆旓紤錛岋紥銆曪紳錛戯紝浠ヨ〃鏄庝簡瀛愬簭鍒椼旓紤錛岋紥銆曠殑鍚堝茍鏂規(guī)鏄錛戝爢鍚堝茍絎紥鍫嗐?br>      鐢辨鍊掓帹鍥炲幓錛屽緱鍑虹錛戯紝絎紥嬈″悎騫剁殑鏂規(guī)錛屾瘡嬈″悎騫跺緱鍒?
      絎竴嬈″悎騫?錛?錛?錛?#8230;… 銆銆銆->錛?br>      絎簩嬈″悎騫?錛?錛?#8230;…          ->錛戯紦
      錛戯紦……
      瀛愬簭鍒椼旓紤錛岋紦銆曠粡錛掓鍚堝茍鍚庡悎騫舵垚錛戝爢錛?錛掓鍚堝茍鐨勫緱鍒嗗拰錛濓紬錛嬶紤錛擄紳錛掞紣銆?br>      锝冦旓紨錛岋紦銆曪紳錛戯紝鍙煡鐢卞瓙搴忓垪銆旓紨錛岋紦銆曞悎騫舵垚鐨勪竴鍫嗙煶瀛愭槸鐢辯錛斿爢鍜屽瓙搴忓垪銆旓紩錛?br>      錛掋曞悎騫惰屾潵鐨勩傝宑銆旓紩錛岋紥銆曪紳錛戯紝鍙堣〃鏄庝簡瀛愬簭鍒椼旓紩錛岋紥銆曠殑鍚堝茍鏂規(guī)鏄錛曞爢鍚堝茍絎紪鍫嗐傜敱姝ゅ掓帹鍥炲幓錛屽緱鍑虹錛撱佺錛旀鍚堝茍鐨勬柟妗?
      姣忔鍚堝茍寰楀垎錛?br>       絎笁嬈″悎騫?……錛曪紨 錛?nbsp;    ->錛?
      絎洓嬈″悎騫?……錛?錛?nbsp;       ->錛戯紤
      ……錛戯紤
      瀛愬簭鍒椼旓紨錛岋紦銆曠粡錛掓鍚堝茍鍚庡悎騫舵垚錛戝爢錛岋紥嬈″悎騫剁殑寰楀垎鍜岋紳錛栵紜錛戯紤錛濓紤錛椼?br>      絎簲嬈″悎騫舵槸灝嗘渶鍚庝袱鍫嗗悎騫舵垚錛戝爢錛岃嬈″悎騫剁殑寰楀垎涓猴紥錛斻?br>      鏄劇劧錛屼笂榪幫紩嬈″悎騫剁殑寰楀垎鎬誨拰涓烘渶灝?br>      錛掞紣錛嬶紤錛楋紜錛掞紨錛濓紪錛?/font>

      涓婅堪鍊掓帹榪囩▼錛屽彲鐢變竴涓猵rint錛堛斿瓙搴忓垪銆曪級鐨勯掑綊綆楁硶鎻忚堪
      procedure print 錛堛攊錛岋綂銆曪級
      begin
      if 锝娿堛夛紤 then 锝?jīng)鐟艟l掓帹鍚堝茍榪囩▼
      begin
      print錛堛攊錛宑銆攊錛宩銆曘曪紱锝?jīng)鍊掓帹瀛愬簭鍒楋紤鐨勫悎騫惰繃紼嬶綕
      print錛堛攊錛媍銆攊錛宩銆曪紞錛戙昺od n錛嬶紤錛宩錛峜銆攊錛宩銆曪級
      锝?jīng)鍊掓帹瀛愬簭鍒楋紥鐨勫悎騫惰繃紼嬶綕
      for K錛氾紳錛?to N do锝?jīng)杈撳嚭褰撳墠琚悎迤堢殑涓ゅ爢鐭冲瓙锝?br>      if 錛堢K鍫嗙煶瀛愭湭浠庡湀鍐呭幓闄わ級
      then begin
      if錛圞錛漣錛塷r錛圞錛漍錛塼hen緗K鍫嗙煶瀛愬緟鍚堝茍鏍囧織
      else絎琄鍫嗙煶瀛愭湭琚悎騫訛紱
      end錛涳經(jīng)then锝?br>      絎琲鍫嗙煶瀛愭暟←絎琲鍫嗙煶瀛愭暟錛嬬X鍫嗙煶瀛愭暟錛?br>      灝嗙X鍫嗙煶瀛愪粠鍦堝唴鍘婚櫎錛?br>      end錛涳經(jīng)then锝?br>      end錛涳經(jīng)print锝?br>      渚嬪錛岃皟鐢╬rint錛堛旓紤錛岋紪銆曪級鍚庣殑緇撴灉濡備笅錛?br>                           print錛堛旓紤錛岋紪銆曪級鈶?br>                                鈹屸攢鈹鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹鈹?br>                     print錛堛旓紤錛岋紦銆曪級鈶?nbsp;              print錛堛旓紨錛岋紦銆曪級鈶?br>                鈹屸攢鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹?nbsp;              鈹屸攢鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹?br>          print(銆旓紤錛岋紥銆?鈶?print(銆?錛?銆?     print(銆?錛?銆? print(銆旓紩錛岋紥銆?鈶?br>       鈹屸攢鈹鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹鈹?nbsp;                        鈹屸攢鈹鈹鈹鈹鈹鈹粹攢鈹鈹鈹鈹鈹鈹?nbsp;            
      print錛堛?,1銆曪級        print錛堛?,1銆曪級               print錛堛?,1銆曪級        
      print錛堛?,1銆曪級
      錛堝浘6.2-5錛?br>      鍏朵腑鍥炴函鑷?br>      鈶?鏄劇ず 錛?錛旓紪 錛?錛?
      鈶?鏄劇ず 錛?錛栵紩 錛?錛?
      鈶?鏄劇ず 錛戯紦 錛曪紨 錛?br>      鈶?鏄劇ず 錛戯紦錛?錛?br>      鈶?鏄劇ず 錛戯紦 錛戯紤
      娉?璋冪敤print榪囩▼鍚庯紝搴旀樉紺猴紪鍫嗙煶瀛愮殑鎬繪暟浣滀負(fù)絎紩嬈″悎騫剁殑寰楀垎銆?/font>

      Program Stones;
      Type
      Node = Record{褰撳墠搴忓垪鐨勫悎騫舵柟妗坿
      c : Longint;{寰楀垎鍜寎
      d : Byte{瀛愬簭鍒?鐨勫爢鏁皚
      End;
      SumType = Array [1..100,1..100] of Longint;
      {sumtype[i,j]-瀛愬簭鍒梉i,j]鐨勭煶瀛愭繪暟}
      Var
      List : Array [1..100,1..100] of Node;
      {list[i,j]-瀛愬簭鍒梉i,j]鐨勫悎騫舵柟妗坿
      Date, Dt : Array [1..100] of Integer;
      {Date[i]-絎琲鍫嗙煶瀛愭暟,Dt-鏆傚瓨Date}
      Sum : ^SumType;{sum^[i,j]-鎸囧悜瀛愬簭鍒梉i,j]鐨勭煶瀛愭繪暟鐨勬寚閽坿
      F : Text;{鏂囦歡鍙橀噺}
      Fn : String;{鏂囦歡鍚嶄覆}
      N, i, j : Integer;{N-鐭沖瓙鍫嗘暟,i,j-寰幆鍙橀噺}

      Procedure Print(i, j : Byte);{閫掑綊鎵撳嵃瀛愬簭鍒梉i,j]鐨勫悎騫惰繃紼媫
      Var
      k, x : Shortint;{k-寰幆鍙橀噺;x-瀛愬簭鍒?涓鍫嗙煶瀛愮殑搴忓彿}
      Begin
      If j <> 1 Then Begin{緇х畫鍊掓帹鍚堝茍榪囩▼}
        Print(i, List[i,j].d);{鍊掓帹瀛愬簭鍒?鐨勫悎騫惰繃紼媫
        x := (i + List[i, j].d - 1) Mod N + 1;{姹傚瓙搴忓垪2涓鍫嗙煶瀛愮殑搴忓彿}
        Print(x, j - List[i, j].d);{鍊掓帹瀛愬簭鍒?鐨勫悎騫惰繃紼媫
        For k := 1 to N Do{杈撳嚭褰撳墠鍚堝茍絎琲鍫?絎瑇鍫嗙煶瀛愮殑鏂規(guī)}
          If Date[k] > 0 Then Begin
             If (i= k)or(x=k)Then Write(F, - Date[k], ' ')
             Else Write(F, Date[k], ' ')
          End; { Then }
        Writeln(F);{杈撳嚭鎹㈣絎
        Date[i] := Date[i] + Date[x];{鍘熺i鍫嗗拰絎瑇鍫嗗悎騫舵垚絎綁鍫唥
        Date[x] := - Date[x]{灝嗗師絎瑇鍫嗕粠鍦堝唴鍘婚櫎}
        End { Then }
      End; { Print }

      Procedure Main(s : Shortint);
      Var
        i, j, k : Integer;
        t, x : Longint;
      Begin
        For i := 1 to N Do Begin{浠呭惈涓鍫嗙煶瀛愮殑搴忓垪涓嶅瓨鍦ㄥ悎騫秨
          List[i, 1].c := 0;
          List[i, 1].d := 0
        End; {For}
        For j := 2 to N Do{欏烘帹鍚?鍫?鍚?鍫?#8230;…鍚玁鍫嗙煶瀛愮殑鍚勫瓙搴忓垪鐨勫悎騫舵柟妗坿
          For i := 1 to N Do Begin{褰撳墠鑰冭檻浠庣i鍫嗘暟璧?欏烘椂閽堟暟j鍫嗙殑瀛愬簭鍒梷
            If s = 1 Then List[i, j].c := Maxlongint{鍚堝茍[i,j]瀛愬簭鍒楃殑寰楀垎鍜屽垵濮嬪寲}
             Else List[i, j].c := 0;
            t := Sum^[i, j];{鏈鍚庝竴嬈″悎騫剁殑寰楀垎涓篬i,j]瀛愬簭鍒楃殑鐭沖瓙鎬繪暟}
            For k := 1 to j - 1 Do Begin{瀛愬簭鍒?鐨勭煶瀛愬爢鏁頒緷嬈¤冭檻1鍫?#8230;…j-1鍫唥
              x := (i + k - 1) Mod N + 1;{姹傚瓙搴忓垪2棣栧爢搴忓彿}
              If (s=1) And (List[i,k].c + List[x,j-k].c+t < List[i, j].c)
      Or (s=2) And (List[i,k].c + List[x,j-k].c+t > List[i, j].c)
      { 鑻ヨ鍚堝茍鏂規(guī)涓虹洰鍓嶆渶浣?鍒欒涓媫
              Then Begin
                List[i, j].c := List[i, k].c + List[x, j - k].c + t;
                List[i, j].d := k
              End { Then }
            End { For }
        End; { For }
      {鍦ㄥ瓙搴忓垪[1,N],[2,N],……,[N, N]涓夋嫨寰楀垎鎬誨拰鏈灝?鎴栨渶澶?鐨勪竴涓瓙搴忓垪}
        k := 1; x := List[1, N].c;
        For i := 2 to N Do
          If (s = 1) And (List[i, N].c < x) Or (s = 2) And
      (List[i, N].c > x) Then Begin
             k := i; x := List[i, N].c
          End; { Then }
        Print(k, N);{鐢辨鍑哄彂,鍊掓帹鍚堝茍榪囩▼}
        Writeln(F, Sum^[1, N]);{杈撳嚭鏈鍚庝竴嬈″皢鐭沖瓙鍚堝茍鎴愪竴鍫嗙殑鐭沖瓙鎬繪暟}
        Writeln(F);
        Writeln(list[k, N].c)
      End; { Main }

      Begin
        Write('File name = ');{杈撳叆鏂囦歡鍚嶄覆}
        Readln(Fn);
        Assign(F, Fn);{璇ユ枃浠跺悕涓蹭笌鏂囦歡鍙橀噺榪炴帴}
        Reset(F);{鏂囦歡璇誨噯澶噠
        Readln(F, N);{璇誨叆鐭沖瓙鍫嗘暟}
        For i := 1 to N Do Read(F, Date[i]);{璇誨叆姣忓爢鐭沖瓙鏁皚
        New(Sum);{姹傛瘡涓涓瓙搴忓垪鐨勭煶瀛愭暟sum}
        For i := 1 to N Do Sum^[i, 1] := Date[i];
        For j := 2 to N Do
          For i := 1 to N Do
            Sum^[i, j] := Date[i] + Sum^[i Mod N + 1, j - 1];
        Dt := Date;{鏆傚瓨鍚堝茍鍓嶇殑鍚勫爢鐭沖瓙,緇撴瀯鐩稿悓鐨勫彉閲忓彲鐩鎬簰璧嬪紏
        Close(F);{鍏抽棴杈撳叆鏂囦歡}
        Assign(F, 'OUTPUT.TXT');{鏂囦歡鍙橀噺涓庤緭鍑烘枃浠跺悕涓茶繛鎺
        Rewrite(F);{鏂囦歡鍐欏噯澶噠
        Main(1);{姹傚緱鍒嗗拰鏈灝忕殑鍚堝茍鏂規(guī)}
        Date := Dt;{鎭㈠鍚堝茍鍓嶇殑鍚勫爢鐭沖瓙}
        Main(2);{姹傚緱鍒嗗拰鏈澶х殑鍚堝茍鏂規(guī)}
        Close(F){鍏抽棴杈撳嚭鏂囦歡}

 

鏈枃鏉ヨ嚜CSDN鍗氬錛岃漿杞借鏍囨槑鍑哄錛?a >http://blog.csdn.net/lyflower/archive/2008/03/05/2150251.aspx



luis 2009-06-30 20:12 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
      <noscript id="pjuwb"></noscript>
            <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
              <dd id="pjuwb"></dd>
              <abbr id="pjuwb"></abbr>
              亚洲电影观看| 久久在线视频在线| 亚洲先锋成人| 在线综合亚洲| 欧美成人综合在线| 亚洲欧美亚洲| 欧美一区精品| 亚洲午夜在线| 亚洲激情午夜| 一本色道久久加勒比精品| 久久久青草青青国产亚洲免观| 国产亚洲一区二区三区在线播放 | 亚洲国产婷婷香蕉久久久久久| 夜夜嗨av一区二区三区免费区| 亚洲夜间福利| 国产精品99久久久久久久女警 | 影音先锋久久精品| 国产精品伦子伦免费视频| 欧美v亚洲v综合ⅴ国产v| 欧美午夜激情视频| 欧美日韩久久不卡| 久久精品论坛| 久久久久国内| 久久人体大胆视频| 欧美日韩国产三级| 欧美区在线播放| 欧美劲爆第一页| 国产亚洲午夜高清国产拍精品| 国产精品美女久久久久av超清 | 国产精品系列在线| 欧美理论在线| 欧美精品18| 国产欧美精品一区二区色综合| 欧美午夜精品伦理| 国产精品都在这里| 亚洲狠狠丁香婷婷综合久久久| 国色天香一区二区| 亚洲男人第一网站| 久久香蕉国产线看观看av| 欧美伊人久久久久久久久影院| 亚洲福利视频网| 亚洲人成高清| 亚洲精品国产精品久久清纯直播 | 亚洲国产欧美久久| 在线观看日韩欧美| 久久久伊人欧美| 亚洲第一页在线| 99视频国产精品免费观看| 久久精品人人爽| 欧美精品免费视频| 国产精品jvid在线观看蜜臀| 亚洲精品专区| 亚洲特级毛片| 国产精品99久久99久久久二8| 奶水喷射视频一区| 亚洲国内欧美| 久久久久久久久久看片| 蜜桃av综合| 欧美影视一区| 国产亚洲毛片| 一区二区三区日韩精品| 91久久精品一区二区三区| 亚洲欧美国产精品专区久久| 久久婷婷国产综合国色天香| 狠狠色丁香久久婷婷综合丁香| 亚洲美女黄色| 久久人人97超碰精品888| 亚洲国产一区二区精品专区| 亚洲一级免费视频| 免费在线亚洲| 国产一区二区三区电影在线观看 | 91久久精品国产91性色| 亚洲免费在线| 欧美激情一区在线观看| 亚洲欧美国产制服动漫| 欧美精品日韩一区| 在线观看亚洲| 老司机精品久久| 一区二区久久| 欧美日韩爆操| 国产麻豆精品视频| 欧美 日韩 国产在线| 欧美一区二区三区免费视| 蜜桃久久av一区| 久久久蜜桃精品| 国产精品久久久久久影院8一贰佰| 国内揄拍国内精品久久| 午夜欧美精品久久久久久久| 亚洲日本在线视频观看| 久久综合色天天久久综合图片| 国产精品视频不卡| 亚洲午夜三级在线| 亚洲精品一区中文| 欧美激情一区二区三区蜜桃视频| 国产一区二区三区的电影| 亚洲综合成人婷婷小说| 日韩一级裸体免费视频| 欧美日韩高清在线| 亚洲黄一区二区三区| 鲁大师成人一区二区三区| 欧美在线电影| 国产一区二区黄色| 欧美在线视频在线播放完整版免费观看| 亚洲国产欧美一区二区三区同亚洲 | 欧美插天视频在线播放| 欧美精品国产精品| 久久精品国产96久久久香蕉| 久久久久九九九九| 国产精品乱码一区二区三区 | 国产偷自视频区视频一区二区| 国产一区二区剧情av在线| 国内精品一区二区三区| 99re成人精品视频| 欧美成人精品高清在线播放| 国产一区视频网站| 久久久久久久综合狠狠综合| 久久精品国亚洲| 最新成人在线| 亚洲欧美日本国产有色| 久久免费视频在线观看| 欧美中在线观看| 国产亚洲精品bv在线观看| 久久一区精品| 欧美精品日韩www.p站| 最新国产成人av网站网址麻豆| 久久综合成人精品亚洲另类欧美| 性欧美video另类hd性玩具| 宅男精品视频| 国产一区在线看| 亚洲黄色av一区| 伊伊综合在线| 亚洲日本va在线观看| 欧美激情精品久久久久久黑人| 亚洲美女尤物影院| 久久www免费人成看片高清| 欧美在线播放一区| 亚洲免费观看| 午夜亚洲福利| 亚洲精品免费看| 欧美国产精品专区| 久久精品论坛| 欧美日韩国内自拍| 亚洲精品麻豆| 久久天堂精品| 欧美粗暴jizz性欧美20| 一个色综合av| 久久精品国产欧美亚洲人人爽| 亚洲欧洲一区二区在线播放| 亚洲欧美在线一区| 亚洲精品1区| 亚洲免费一区二区| 亚洲青色在线| 欧美专区日韩专区| 亚洲欧美怡红院| 欧美—级在线免费片| 久久久久国内| 国产精品主播| 在线一区二区三区四区| 欧美视频不卡中文| 久久国产精品毛片| 亚洲激情在线观看| 亚洲日本中文| 欧美日韩高清在线| 狠狠色综合色区| 亚洲国产精品一区在线观看不卡 | 国产精品一区二区你懂得| 亚洲午夜在线观看| 久久精品免费播放| 亚洲精品在线观| 国产精品久久久久高潮| 久久精品免费电影| 亚洲欧洲日夜超级视频| 午夜精品亚洲| 在线免费观看日本欧美| 欧美老女人xx| 亚洲欧美日韩另类| 亚洲一区二区成人在线观看| 国内成人精品视频| 欧美大尺度在线| 亚久久调教视频| 亚洲激情视频网站| 欧美一区二区精品在线| 激情欧美一区二区| 欧美成人免费在线观看| 国产欧美在线播放| 国产精品嫩草影院一区二区| 欧美淫片网站| 亚洲毛片在线| 久久精品二区| 国产农村妇女精品一区二区| 米奇777超碰欧美日韩亚洲| 一区二区日韩欧美| 国产亚洲二区| 亚洲人成欧美中文字幕| 欧美影院在线播放| 一区二区三区.www| 亚洲国产日韩美| 国产一区二区日韩| 国产精品久久久久av| 欧美日产在线观看|