倒水
時間限制: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
輸入例子1:
310 2
20 1
25 1
30 1
輸出例子1:
possible20.0000
解題思路:若有一杯水溫度大於水缸的水溫一杯水溫小於水缸的水溫則不可能,若都小於水缸的水溫,則先都上公升到最高水杯的水溫,然後繼續上公升,若都大於水缸的水溫,則先下降到最低水杯的水溫
#include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;
#define ll long long
const int inf = 0x3f3f3f3f;
int n;
double t[10009],c[10009];
double t,c;
int main()
if((mi=t)||(mi<=t&&ma>t))
if(mi>=t)
else
printf("possible\n%.4lf\n",l);}}
}return 0;
}
美團codeM預賽A輪 倒水
程式設計題 倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。...
美團codeM預賽B 子串
子串時間限制 1秒 空間限制 32768k 給出乙個正整數n,我們把1.n在k進製下的表示連起來記為s n,k 例如s 16,16 123456789abcdef10,s 5,2 11011100101。現在對於給定的n和字串t,我們想知道是否存在乙個k 2 k 16 使得t是s n,k 的子串。輸...
CodeM美團點評程式設計大賽A輪 C 倒水
程式設計題 倒水 時間限制 1秒 空間限制 32768k 有乙個大水缸,裡面水的溫度為t單位,體積為c公升。另有n杯水 假設每個杯子的容量是無限的 每杯水的溫度為t i 單位,體積為c i 公升。現在要把大水缸的水倒入n杯水中,使得n杯水的溫度相同,請問這可能嗎?並求出可行的最高溫度,保留4位小數。...