歡樂暑假線上程式設計比賽第四題 分配糖果

2022-03-05 06:13:17 字數 1675 閱讀 4169

在csdn上看到這麼個題目,與友友們一起分享下,如果有別的做法,也希望能拿出來交流交流。

題目詳情

有n個小朋友站成一排(編號從0到n-1),每個小朋友有乙個rating值,存放在ratings陣列中。老師需要給他們分

配糖果,每個小朋友至少需要一顆糖果,對於任意相鄰的兩個小朋友i和i+1,rating值大的必須比rating值小的分

配的糖果多(rating相同的沒必要分配一樣多的糖果)。

請計算最少需要多少顆糖果,才能完成上述分配。

輸入格式:

多組資料,每組資料第一行是乙個正整數n。

接下來n行,每行有1個正整數,表示每個小朋友的rating值。所有整數都不超過100000。

輸出格式:

每組資料一行,包括乙個正整數,表示做少需要的糖果數。

在下的解決方案:

using

system;

using

system.collections.generic;

using

system.linq;

using

system.text;

using

system.threading.tasks;

namespace

分配糖果

static

int converttoint(string

str)

return

number;

}catch

return -1

; }

static

void

run()

個小朋友的rating:

", i + 1

)); ratings[i] =converttoint(console.readline());

}if (n < 0

)

else

if (n == 0

) 個糖果1

", 0

)); }

else

if (n == 1

) 個糖果2

", 1

)); }

else

else

if (ratings[j] ==dic.values.first())

else

if (ratings[j] }

}if (dic.count() > 0

)

else

if (d.key == n - 1

)

else

}else

else

}else

else}}

}}

else

}console.writeline();

console.writeline(

string.format("

需要個糖果3

", candys.sum()));

}message();

}static

void

message()

else}}

}

歡樂暑假線上程式設計比賽第三題 輪換數

題目詳情 把n各事物的集合劃分成k個非空子集的方式數,比如劃分2個非空子集,我們可以得到7種劃分方式 u u u u u u u.相信大家一看就知道這 個怎麼做吧,因為這就是著名的striling數.但是今天的問題卻是,計算n個元素安排城k個輪換 而不是子集 的 方式數.輪換是迴圈排列,也就是 a,...

歡樂暑假線上程式設計比賽第一題 拆點遊戲

題目 n個節點,m條邊的無向圖,每個節點乙個權值w。定義拆除乙個節點的代價為與其相鄰的節點的權值之和。拆除乙個節點後刪除所有與該節點相連的邊。求拆除所有節點需要花費的最少代價。輸入描述 輸入包含多組測試資料,每組測試資料第一行先輸入n,m 1 n 10000 0 m 20000 第二行輸入n個整數w...

歡樂暑假線上程式設計比賽第一題 拆點遊戲

題目詳情 n個節點,m條邊的無向圖,每個節點乙個權值w。定義拆除乙個節點的代價為與其相鄰的節點的權值之和。拆除乙個節點後刪除所有與該節點相連的邊。求拆除所有節點需要花費的最少代價。輸入描述 輸入包含多組測試資料,每組測試資料第一行先輸入n,m 1 n 10000 0 m 20000 第二行輸入n個整...