CodeM美團點評程式設計大賽A輪 C 倒水

2021-08-02 19:02:47 字數 1319 閱讀 4003

[程式設計題] 倒水

時間限制:1秒

空間限制:32768k

有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水(假設每個杯子的容量是無限的),每杯水的溫度為t[i]單位,體積為c[i]公升。

現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。

注意:一杯溫度為t1單位、體積為c1公升的水與另一杯溫度為t2單位、體積為c2公升的水混合後,溫度變為(t1*c1+t2*c2)/(c1+c2),體積變為c1+c2。 

輸入描述:

第一行乙個整數n, 1 ≤ n ≤ 10^5

第二行兩個整數t,c,其中0 ≤ t ≤ 10^4, 0 ≤ c ≤ 10^9

接下來n行每行兩個整數t[i],c[i]

0 ≤ t[i], c[i] ≤ 10^4

輸出描述:

如果非法,輸出「impossible」(不帶引號)否則第一行輸出「possible"(不帶引號),第二行輸出乙個保留4位小數的實數表示答案。

樣例解釋:往第二杯水中倒0.5公升水

往第三杯水中到1公升水

三杯水的溫度都變成了20

輸入例子:

3

10 2

20 1

25 1

30 1

輸出例子:

possible

20.0000

題解來自nobody:

注意:第一種情況應該是t<=mint

#include #include using namespace std;

struct jj

a[100000];

int main()

if(a[i].tt)

else

}if(flag==1&&flag1==1&&num!=n) //在第二種當中的非法情況

else if(num==n) //在第二種當中的合法情況

else

if(sum<=c*(mint-t)) //為了避免浮點數產生的誤差,這裡用乘法代替除法

else //如果水缸裡的水不夠用,那麼無法達到目的,非法。

}else //第三種情況

if(temp>c)

else

}if(ans==-1)

else}}

return 0;

}

CodeM美團點評程式設計大賽A輪 C 倒水

倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。注意 一杯溫...

2018美團CodeM程式設計大賽初賽B輪 A題開關燈

美團的辦公室一共有n層,每層有m個會議室,可以看成是乙個n m的網格圖。工程師們每天的工作需要協作的地方很多,經常要到會議室開會解決各種問題。公司是提倡勤儉節約的,因此每次會議室只在使用時才開燈。當乙個工程師進入會議室時,假設沒有其他人,他會把燈開啟。當乙個工程師離開會議室時,假設沒有其他人,他會把...

CodeM 2017美團點評程式設計大賽資格賽

時間限制 c c 1秒,其他語言2秒 空間限制 c c 32m,其他語言64m 美團外賣的品牌代言人袋鼠先生最近正在進行 研究。他有兩段音訊,每段音訊是乙個表示音高的序列。現在袋鼠先生想要在第二段音訊中找出與第一段音訊最相近的部分。具體地說,就是在第二段音訊中找到乙個長度和第一段音訊相等且是連續的子...