阿里的一道程式設計

2021-09-12 14:47:51 字數 1100 閱讀 2649

有個窮困的藝術家。他畫了一幅超現實主義的作品《方塊手拉手》。現在他已經把圖畫中手拉手的一排大小不一的方塊都畫出來了。現在要考慮上顏色了。可惜他手中的錢並不多了。但是他是個有追求的人,他希望這幅畫中每兩個相鄰的方塊的顏色是不一樣的。你能幫他計算一下把這幅畫上色後,最少需要花多少錢麼。

編譯器版本: gcc 4.8.4 請使用標準輸入輸出(stdin,stdout) ;請把所有程式寫在乙個檔案裡,勿使用已禁用圖形、檔案、網路、系統相關的標頭檔案和操作,如sys/stat.h , unistd.h , curl/curl.h , process.h

時間限制: 3s (c/c++以外的語言為: 5 s)

記憶體限制: 128m (c/c++以外的語言為: 640 m)

輸入:輸入描述 輸入是乙個nxk的二維矩陣。n表示有幾個方塊,k表示有多少種顏色。這個矩陣cost[0][0]表示方塊0被塗成0號顏色的花費。 輸入的第一行是n,k 接下來是每一行的資料

4 3  

2 3 2

9 1 4

7 8 1

2 8 3

分析

動態規劃,對於熟悉的人應該不難,但我總是搞不大懂,雖然我還是沒做出來,參考了別人。。。但這是算是自己寫的最差不多的了。。。繼續加油把

#include

#include

using namespace std;

intmincost

(vectorint>> cost)

for(

int i=

1;i)//找到上一行最小的

res[i]

[j]=cost[i]

[j]+min;}}

//在最後一行找到最小的

int result=int_max;

for(

int i=

0;i)return result;

}int

main()

cost.

push_back

(tmp);}

cout<<

mincost

(cost)

}

一道程式設計題

題目要求 1 自己給定乙個集合 元數個數不得少於10個 2 讓使用者任一輸入乙個整數 3 根據使用者輸入的整數,移除集合中相應的元素 請根據示例找出元素移除的規律 4 運算結束後,集合中所有元素均被移除 示例 集合元素為 a b c d e f g h i j 使用者輸入的整數為 3 集合元素被移除...

一道程式設計題

程式設計愛好者論壇 有n個學生.每個學生都有自己的宗教信仰,可能相同,也可能不同。乙個調查機構想弄清楚宗教信仰的總數。但是,直接詢問可能會使人不快,於是,調查機構決定詢問m對學生,問他們是否具有相同的宗教信仰。如果相同,則他們會參加同一教會,彼此會認識 要求計算最大可能的宗教數。函式原型 int r...

360的一道程式設計題

時間限制 c c 語言1000ms 其它語言3000ms 記憶體限制 c c 語言65536kb 其它語言589823kb 小b乘火車和朋友們一起在n市到m市之間旅行。她在路途中時睡時醒。當她醒來 窗外的風景時,注意到每個火車站都有一種特別顏色的旗幟,但是她看到的旗幟僅僅是經過的一小部分。小b在乘火...