一筆畫一次成功的秘密

最近玩了一款手游拜隧,是一筆畫的內(nèi)容西傀,突然又想起來小時(shí)候...哈哈瞬間很懷念有木有动猬,小時(shí)候?qū)@樣的游戲也癡迷到不行虏束。

*不過長(zhǎng)大了玩游戲的心情都不一樣了棉饶,程序員做久了就非得想從里面找規(guī)律...這不還真的發(fā)現(xiàn)了一些小規(guī)律,然后游戲就瞬間變得無聊了起來镇匀。

以下是四個(gè)比較有用的結(jié)論↓↓↓

1.只有2個(gè)分支的節(jié)點(diǎn)可以被簡(jiǎn)化為一條線

image.png

這個(gè)圖再熟悉不過了吧照藻,怎么畫就不用多說了吧?0->2->4->1->3->0(呵呵程序員不從0開始對(duì)不起自己)
這個(gè)圖其實(shí)就是典型的可以按2個(gè)分支的節(jié)點(diǎn)來化簡(jiǎn)汗侵,0-2-4路徑上只有2一個(gè)節(jié)點(diǎn)幸缕,所以可以將2忽略掉,變成0->4,腦海中的畫面就變成了這個(gè)樣子:


化簡(jiǎn)后節(jié)點(diǎn)2包含在了黃色的線內(nèi)

繼續(xù)化簡(jiǎn)晰韵,0-4-1中4又可以忽略掉发乔,那么0->1又出來了...這時(shí)簡(jiǎn)化成什么了?怎么畫就不用說了吧雪猪!


2和4化簡(jiǎn)以后的結(jié)果

2.孤島可以簡(jiǎn)化成一個(gè)節(jié)點(diǎn)來處理栏尚,前提是經(jīng)過節(jié)點(diǎn)是就要遍歷它

簡(jiǎn)化前

圖中0,1,2形成了一個(gè)孤島(姑且這么叫吧),3只恨,4译仗,5形成一個(gè)孤島,6官觅,7,8形成一個(gè)孤島纵菌,9,10,11形成一個(gè)孤島,當(dāng)我們經(jīng)過孤島節(jié)點(diǎn)比如1時(shí)我們就要優(yōu)先去遍歷他的孤島休涤,比如1->0->1->1這樣對(duì)整個(gè)圖的路徑?jīng)]有任何影響咱圆,圖就可以簡(jiǎn)化成如下的樣子:
簡(jiǎn)化后

簡(jiǎn)單了吧?

3.若以偶數(shù)節(jié)點(diǎn)為開始必然也以該偶數(shù)節(jié)點(diǎn)為結(jié)束功氨,反過來以偶數(shù)節(jié)點(diǎn)未結(jié)束意味著它一定是起點(diǎn)

image.png

image.png

上面的圖中序苏,假如我們以節(jié)點(diǎn)0開始,因?yàn)?是偶數(shù)節(jié)點(diǎn)疑故,那么我們的一筆畫也將以節(jié)點(diǎn)0結(jié)束杠览。
至于原因嘛弯菊,也很簡(jiǎn)單纵势。我們假如從0開始向1劃線踱阿,那么一筆畫的路徑如下圖:


一進(jìn)一出

偶數(shù)節(jié)點(diǎn)之所以要達(dá)到偶數(shù),那么它必須一進(jìn)一出一進(jìn)一出扒仗软舌!
記住一進(jìn)一出

由此,便引出了我們最常用也最有效的結(jié)論↓↓↓

4.一個(gè)閉合的圖形中必然只包含0個(gè)或者2個(gè)奇數(shù)邊節(jié)點(diǎn)牛曹。

這個(gè)結(jié)論非常重要7鸬恪!黎比!
絕大多數(shù)圖要從這個(gè)結(jié)論入手3!阅虫!

能找出包含2個(gè)以上或1個(gè)奇數(shù)邊還能一筆畫成的算我輸

原因也很簡(jiǎn)單演闭,也是上面的一進(jìn)一出。要證明它也很簡(jiǎn)單
看來一進(jìn)一出真的很重要啊

首先我們假設(shè)一個(gè)包含2N + 1條邊的節(jié)點(diǎn)颓帝,我們分兩種情況討論:
1.以該節(jié)點(diǎn)畫起米碰,那么從我們一進(jìn)一出來看,經(jīng)過節(jié)點(diǎn)的路線必然是:
出->進(jìn)->出->進(jìn)......出->進(jìn)->出->進(jìn)......這個(gè)過程有N次出和N次進(jìn)购城,再一次回到了該節(jié)點(diǎn)吕座。那么此時(shí)該節(jié)點(diǎn)就只含有一條邊可以出去了,所以該節(jié)點(diǎn)必然不是一筆畫的終點(diǎn)瘪板。我們需要接盤俠...
我來接盤

從性質(zhì)2來看吴趴,任何一個(gè)偶數(shù)節(jié)點(diǎn)都不會(huì)當(dāng)接盤俠,人家成雙入對(duì)侮攀,一進(jìn)一出史侣。那么我們只能猜想接盤俠應(yīng)該也是一個(gè)奇數(shù)節(jié)點(diǎn)。下面我們來討論情況2魏身,看看奇數(shù)節(jié)點(diǎn)愿不愿意做接盤俠...
2.如果某個(gè)奇數(shù)節(jié)點(diǎn)不是起點(diǎn)惊橱,那么可以想象經(jīng)過它的路徑必然是是:
進(jìn)->出->進(jìn)->出...進(jìn)->出->進(jìn)->出...經(jīng)過N次進(jìn)和N次出,該節(jié)點(diǎn)還剩下一條路徑箭昵,并且路徑已經(jīng)出去了税朴,最后只能是由它來接盤了有木有!想再往外拋也沒地拋了有木有家制!這盤不接也得接啊...
接盤俠

從以上的2點(diǎn)論證我們可以得出結(jié)論正林,若圖中存在一個(gè)奇數(shù)節(jié)點(diǎn)就必然存在另一個(gè)奇數(shù)節(jié)點(diǎn)來接盤,因?yàn)榕紨?shù)點(diǎn)不肯接颤殴。如果存在大于2個(gè)奇數(shù)點(diǎn)將造成其他奇數(shù)點(diǎn)無盤可接的尷尬觅廓。所以奇數(shù)點(diǎn)必然不會(huì)大于2個(gè)。所以奇數(shù)點(diǎn)的個(gè)數(shù)要么是0要么是2涵但,而且是2時(shí)必然是一個(gè)起點(diǎn)一個(gè)終點(diǎn)杈绸。

OKL!瞳脓!由以上幾個(gè)結(jié)論我們基本就可以無腦游戲了

  1. 1.第一步尋找圖中有無奇數(shù)節(jié)點(diǎn)塑娇,如果有,找出這對(duì)奇數(shù)節(jié)點(diǎn)并從某個(gè)奇數(shù)節(jié)點(diǎn)開始畫起
    
  2. 2.如果沒有奇數(shù)節(jié)點(diǎn)劫侧,那么任意一個(gè)偶數(shù)節(jié)點(diǎn)都可以當(dāng)成起始點(diǎn)埋酬,當(dāng)然選擇邊比較多的節(jié)點(diǎn)更容易畫。
    

OK烧栋,我們還是來舉幾個(gè)栗子吧:


看似很復(fù)雜
其實(shí)只要找到起始和終止點(diǎn)
畫的過程隨心所欲就行
基本都能一次成功
以下是我總結(jié)的無法被一筆畫成的情形写妥,可以來坑隊(duì)友,哈哈审姓,給他出個(gè)難題耳标。

1.任何閉合圖形如果存在的奇數(shù)邊節(jié)點(diǎn)不是0個(gè)或者2個(gè)都無法被都無法被一筆畫成


絕對(duì)無法一筆畫出,不信你試試

絕對(duì)無法一筆畫出邑跪,不信你試試

2.任意包含大于2條非閉合邊的圖形無法被一筆畫成


這個(gè)也很明顯咯

3.包含2個(gè)節(jié)點(diǎn)的非閉合圖形次坡,簡(jiǎn)化后的閉合圖形起始和終止節(jié)點(diǎn)必然落在2個(gè)奇數(shù)邊節(jié)點(diǎn)上,否則無法被一筆畫成

特殊情況

當(dāng)某些復(fù)雜的情況下要求某個(gè)邊要多次經(jīng)過時(shí)可以按照經(jīng)過的次數(shù)算節(jié)點(diǎn)的維度画畅,還有某些邊要求特定方向通過砸琅,比較復(fù)雜,我們下次再分解轴踱。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末症脂,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子淫僻,更是在濱河造成了極大的恐慌诱篷,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,807評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件雳灵,死亡現(xiàn)場(chǎng)離奇詭異棕所,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)悯辙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門琳省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人躲撰,你說我怎么就攤上這事针贬。” “怎么了拢蛋?”我有些...
    開封第一講書人閱讀 169,589評(píng)論 0 363
  • 文/不壞的土叔 我叫張陵桦他,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我谆棱,道長(zhǎng)快压,這世上最難降的妖魔是什么圆仔? 我笑而不...
    開封第一講書人閱讀 60,188評(píng)論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮嗓节,結(jié)果婚禮上荧缘,老公的妹妹穿的比我還像新娘皆警。我一直安慰自己拦宣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,185評(píng)論 6 398
  • 文/花漫 我一把揭開白布信姓。 她就那樣靜靜地躺著鸵隧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪意推。 梳的紋絲不亂的頭發(fā)上豆瘫,一...
    開封第一講書人閱讀 52,785評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音菊值,去河邊找鬼外驱。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腻窒,可吹牛的內(nèi)容都是我干的昵宇。 我是一名探鬼主播,決...
    沈念sama閱讀 41,220評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼儿子,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼瓦哎!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起柔逼,我...
    開封第一講書人閱讀 40,167評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤蒋譬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后愉适,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體犯助,經(jīng)...
    沈念sama閱讀 46,698評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,767評(píng)論 3 343
  • 正文 我和宋清朗相戀三年维咸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了也切。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,912評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡腰湾,死狀恐怖雷恃,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情费坊,我是刑警寧澤倒槐,帶...
    沈念sama閱讀 36,572評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站附井,受9級(jí)特大地震影響讨越,放射性物質(zhì)發(fā)生泄漏两残。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,254評(píng)論 3 336
  • 文/蒙蒙 一把跨、第九天 我趴在偏房一處隱蔽的房頂上張望人弓。 院中可真熱鬧,春花似錦着逐、人聲如沸崔赌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽健芭。三九已至,卻和暖如春秀姐,著一層夾襖步出監(jiān)牢的瞬間慈迈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評(píng)論 1 274
  • 我被黑心中介騙來泰國(guó)打工省有, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留痒留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,359評(píng)論 3 379
  • 正文 我出身青樓蠢沿,卻偏偏與公主長(zhǎng)得像伸头,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子搏予,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,922評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 早晨還沒起床熊锭,就聽見窗外淅瀝瀝的雨聲,一場(chǎng)春雨一場(chǎng)暖雪侥。轉(zhuǎn)眼間已是三月中旬了碗殷。今天是二月二龍?zhí)ь^,安老習(xí)俗今天的男孩...
    阿濤演藝閱讀 155評(píng)論 1 6
  • 關(guān)于路過,第一時(shí)間想到的是“路過蜻蜓”旬牲。哥哥的歌仿粹,應(yīng)該不會(huì)有太多人知道。具體歌詞原茅,我也不太記得吭历。只是那種感覺,讓我...
    飄雨桐V閱讀 226評(píng)論 0 0
  • 后來覺得寫文章寫書@寫小說擂橘,都是一樣的概念 深刻亦耐人尋味 與眾不同 即可 普通人在這上面 用生活 呈現(xiàn)出的文章 ...
    我_ab98閱讀 181評(píng)論 0 0
  • 今天是五一勞動(dòng)節(jié)晌区,注意!是勞動(dòng)節(jié)!實(shí)在是搞不明白為啥會(huì)有那么多人熱衷于出去玩朗若,難道今天不應(yīng)該是勞動(dòng)最光榮的么恼五。。哭懈。...
    ythyth8閱讀 266評(píng)論 0 0