1359C. Mixing Water
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                1359C. Mixing Water
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.                        
                                C. Mixing Water
一個(gè)簡(jiǎn)單的思維。 因?yàn)槭且桓粢坏?#xff0c;所以要么熱水多放一個(gè),要么冷水和熱水一樣多。 設(shè)熱水與要求的差為cou1,冷水與要求的差為cou2。 所以我們先考慮兩種情況: 1,cou1大于cou2,那么肯定是要么只放兩個(gè),或者一個(gè)熱水正好。 2,cou2大于cou1,那么每次加兩個(gè)就是減小熱水和要求的差值,那么減到多少合適呢?這時(shí)就要判斷一下了,這里也是容易錯(cuò)的地方。因?yàn)榕袛嗍瞧骄档牟?#xff0c;所以記得轉(zhuǎn)換成double型求平均值。 #include <bits/stdc++.h> using namespace std; #define int long long const int mod = 1e9 + 7; // int a[(int)2e6]; signed main() {int tt;cin >> tt;while (tt--){int h, c, t;cin >> h >> c >> t; //熱,冷,需要int res = 1e7;int cnt = 0;int cou1 = h-t;int cou2 = t-c;if (cou1>=cou2){cnt = 2;if (cou1==0) cnt = 1;}else {int cha = cou2-cou1;//每次降低多shaoint num1,num2;// cout<<cou1<<" "<<cou2<<" "<<cha<<endl;if (cou1>=cha) //如果夠減{ num1 = cou1%cha;num2 = abs(cha-num1);if ((double)num1/(cou1/cha*2+1)<=(double)num2/((cou1/cha+1)*2+1)) cnt = cou1/cha*2+1;else cnt = (cou1/cha+1)*2+1;}else {if ((double)(cou1)<=(double)(cha-cou1)/3.0) cnt = 1;else cnt = 3;}}cout<<cnt<<endl;} }總結(jié)
以上是生活随笔為你收集整理的1359C. Mixing Water的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 09 受控组件
 - 下一篇: 乐优商城服务器部署_黑马乐优商城项目总结