四色問題c語言怎麼解決,四色問題C語言怎麼解決

2022-02-25 14:58:55 字數 2567 閱讀 5367

1樓:馮老師(必果學院

思路:建立資料結構,錄入資料內容,遍歷著色,輸出第一個可行的著色方案。

下面就四個方面詳細分析一下

首先分析資料結構:

對於地圖,一個區塊包含一個唯一編號資料(這個編號可以是地名,也可以是數字)用來區分該區塊和其他區塊的不同

另外要著色,還要考慮該區塊和其他區塊連線的情況

最後就是區塊本身的顏色

通過上面的分析,即可建立如下資料結構:

struct area;

然後需要錄入資料,這個請依據具體的地圖進行處理,撰寫相應的錄入函式,填入上面的資料結構

假設錄好的資料如下:

struct area city[64];//假設已經錄製好了資料,初始所有城市顏色都為0

資料錄好後,我們可以如下方式進行遍歷,嘗試著色

遍歷分為個模組:一個是遍歷模組,一個是校驗模組

校驗模組依序檢查所有的城市和其鄰接城市是否存在同色的情況,是則返回false,否則返回true

遍歷模組則逐個城市進行上色嘗試

可以考慮遞迴

下面給一個遞迴的示例:

檢測模組:

bool isok()else}}

return false;//沒有一個顏色可行,返回上一級,重新尋找

}呼叫的時候可以採用下面的方式:

if(addcity(0)==false)else}

2樓:依蘭彬歌

圖論的面著色問題。

首先是要輸入一個圖。地圖中的每一個區域在圖中成為一個頂點(vertex),兩個區域相鄰在圖中表示為兩個頂點之間的一條邊(edge)。

這個要怎麼輸入呢?測試的時候可以先在**裡直接內建圖的結構,要使用者輸入的話那就是ui的問題了。

輸入完成以後,程式的記憶體裡就有一張無向圖了,圖的表示方法,簡單的可以用鄰接矩陣來表示。

至於演算法,一個比較簡單的是深度優先搜尋。

比如總共有10個頂點,那麼至多有4^10種著色方案。

從(c1, c1, c1, c1, c1, c1, c1, c1, c1, c1)到(c4, c4, c4, c4, c4, c4, c4, c4, c4, c4)逐一判斷即可。判斷的過程中可以加入剪枝操作以提高效率。

比如(c1, c1, ...)這個方案在確定了2個頂點的顏色後已經矛盾了,那麼就直接把後面的剪掉,從(c1, c2, ...)開始搜尋

3樓:匿名使用者

著名的四色定理是指出任何平面區域圖均可用四種顏色著色,使相鄰區域著不同的顏色。本程式對給定的區域圖找出所有可能的不超過四種顏色的著色方案。程式中用 1~4 表示四種顏色。

要著色的 n 個區域用 0~n一1編號,區域相鄰關係用 adj 矩陣表示,矩陣的 i 行 j 列的元素為 1 ,表示區域 i 與區域 j 相鄰;矩陣的 i 行 j 列的元素為 0 ,表示區域 i 與區域 j 不相鄰。陣列 color 用來儲存著色結果, color[i] 的值為區域 i 所著顏色。

另外,虛機團上產品**,超級便宜

c語言問題 **如圖 取餘為什麼會出錯

4樓:璀璨星空

%1000取餘是返回整數,

要給a[0]的話需要強制轉換a[0]=(float) ();

5樓:闖蕩翰海

可以提供有償指導,我是計算機的

c語言程式問題

6樓:匿名使用者

求0-n 各個數的階乘之和。。。

當讓不能自動四捨五入了,計算可能會自動去小數部分(相當於去1法)

7樓:匿名使用者

s=__1___;這樣的賦值方式看不懂,執行也報錯,希望指點。

簡單實現四捨五入的方法,資料後+0.5,這樣自動丟失小數部分,就達到四捨五入的效果。

8樓:匿名使用者

long f(int n) //求階乘的函式void main()

最後的問題,不是vc6.0的程式可以自己四捨五入,而是printf這個函式列印的時候會幫你四捨五入列印出來,跟vc什麼的完全無關

那個k=1 去掉,沒有定義型別,也沒用到,改成我上面的**就沒錯了

做數學難題和學習語言編輯,例如:c語言 那個更枯燥? 相對來說語言編輯,若某難點被攻破,程式正

9樓:馮老師(必果學院

並沒有誰更加枯燥,而是看個人興趣而言

事實上程式設計和數學是密不可分的

很多數學問題就是用程式設計來解決的(比如四色定理,計算π等)如果個人對程式設計有興趣,那麼程式設計也就沒有什麼枯燥的瞭如果個人對數學有興趣,那麼數學也就沒有什麼枯燥的瞭如果對上述都不感興趣的人,無論做什麼,都會覺得很枯燥

10樓:_永遠的土

研究數學更枯燥吧,需要耐得住寂寞,而計算機語言的學習,**的敲打,其實還有一種和計算機互動的樂趣,你要比較也應該是演算法之類的學習。

當然只是個人觀點。

11樓:

數學比較好玩吧,當你一次次攻克完稀奇古怪的問題時特有成就感。數學範圍比較廣所以樂趣相對多一點

四色原理是怎麼證明的,黎鳴是怎麼證明四色定理的?

數學愛好者都會注意到錢學森在文章中所提的一件事 去年數學界哄動一時的一件事,是用電子計算機證明了數學上的四色定理。畫地圖要求相鄰兩國不用同一色,一幅地圖只需要四種顏色。要證明這個定理很難,數學家經過上百年的努力,證明不了。去年美國數學家用電子計算機證明了。他們看到這個問題要證明並不是不可能,而是證明...

四色印刷機怎麼調色的啊,四色印刷機是不是一次只能印四個顏色

想學就要去印刷廠學。你會ps會有一點幫助。但實際上更多的是要經驗,從對機器的瞭解開始,四色印刷顏色是靠四色網疊加得到的,黃,紅,藍,黑,四色分成四組,根據畫面裡紅黃藍黑四種顏色的分佈做出四塊絲網版,一般用晒相的原理來製作,然後用絲網版來印出一個顏色,幹後,再印第二個顏色,直到四色印完。這時,有些顏色...

訂婚四色禮和上門四色禮一樣嗎包頭訂婚給了四色禮結婚還用給嗎?

按傳統習俗來說,訂婚四色禮和上門四色禮是不一樣的。訂婚四色禮是男方家通過媒人去女方家正式求婚的一種方式。由媒人攜 四色禮 茶葉 冰糖 罐頭或果品 糕點等 去女方家正式求婚,女方家同意便接受 落話禮 並約定訂婚日期。否則,拒收此禮。訂婚,有的地方稱 提大禮 即由男方給女方及其直屬族親 姑舅 兄妹等送 ...