CF1543C. Need for Pink Slips

题意:

题解:

其实具体的计算方法在说明里面都写了:对于第一个数据:

0.2 0.2 0.6 0.2

组成方案如下:

就是c和m如果大于v就减,小于v就变成0,到p直接停止
所以直接dfs暴力就完事了
注意:已经消失的不会再被平均,如果M已经是0了,当C平均分时就不考虑M

代码:

#include <bits/stdc++.h>
#include <unordered_map>
#define debug(a, b) printf("%s = %d\n", a, b);
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> PII;
clock_t startTime, endTime;
//Fe~Jozky
const ll INF_ll= 1e18;
const int INF_int= 0x3f3f3f3f;
void read(){};
template <typename _Tp, typename... _Tps> void read(_Tp& x, _Tps&... Ar)
{x= 0;char c= getchar();bool flag= 0;while (c < '0' || c > '9')flag|= (c == '-'), c= getchar();while (c >= '0' && c <= '9')x= (x << 3) + (x << 1) + (c ^ 48), c= getchar();if (flag)x= -x;read(Ar...);
}
template <typename T> inline void write(T x)
{if (x < 0) {x= ~(x - 1);putchar('-');}if (x > 9)write(x / 10);putchar(x % 10 + '0');
}
void rd_test()
{#ifdef ONLINE_JUDGE
#elsestartTime = clock ();freopen("data.in", "r", stdin);
#endif
}
void Time_test()
{#ifdef ONLINE_JUDGE
#elseendTime= clock();printf("\nRun Time:%lfs\n", (double)(endTime - startTime) / CLOCKS_PER_SEC);
#endif
}
double eps=1e-7;
double ans=0;
double v;
stack<int>s;
void dfs(double c,double m,double p,string s,double w){double add1=0,add2=0;bool f1=0,f2=0;if(c>=v){if(abs(m)>eps)f1=1;if(abs(p)>eps)f2=1;if(f1&&f2){add1=add2=v/2.0;}else if(f1){add1=v;}else if(f2){add2=v;}dfs(c-v,m+add1,p+add2,s+"c",w*c);}if(c<v&&abs(c)>eps){if(abs(m)>eps)f1=1;if(abs(p)>eps)f2=1;if(f1&&f2){add1=add2=c/2.0;}else if(f1){add1=c;}else if(f2){add2=c;}dfs(0,m+add1,p+add2,s+"c",w*c);}if(m>=v){if(abs(c)>eps)f1=1;if(abs(p)>eps)f2=1;if(f1&&f2){add1=add2=v/2.0;}else if(f1){add1=v;}else if(f2){add2=v;}dfs(c+add1,m-v,p+add2,s+"m",w*m);}if(m<v&&abs(m)>eps){if(abs(c)>eps)f1=1;if(abs(p)>eps)f2=1;if(f1&&f2){add1=add2=m/2.0;}else if(f1){add1=m;}else if(f2){add2=m;}dfs(c+add1,0,p+add2,s+"m",w*m);}if(p){//      printf("w=%.6f\n",w*p);
//      cout<<"w="<<w<<endl;string xx=s+"p";ans+=xx.length()*w*p;//      printf("%s\n",xx.c_str());
//      cout<<s+"p"<<endl;}return ;
}
int main()
{//rd_test();int t;read(t);while(t--){ans=0;double c,m,p;cin>>c>>m>>p>>v;dfs(c,m,p,"",1);printf("%.8f\n",ans);}//Time_test();
}

CF1543C. Need for Pink Slips相关推荐

  1. C. Need for Pink Slips-Codeforces Round #730 (Div. 2)

    题目链接Problem - 1543C - Codeforces C. Need for Pink Slips time limit per test 1 second memory limit pe ...

  2. #730 (Div. 2) A 思维 C dfs D1 交互思维

    A. Exciting Bets 根据样例猜的答案 首先发现 gcd这项,就是两个数差的绝对值 tmp 把两个数都对tmp取模,那么min(x,x-tmp)是a的最小操作数 min(y,y-tmp)就 ...

  3. What Makes a Good Teacher?

    What Makes a Good Teacher? 2004年05月26日10:42:39 解放日报--上海学生英文报   这是一群美国三年级学生发表的观点.充满童趣. A teacher help ...

  4. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(权重,盒子模型)

    一.基础班学习路线 三.CSS3基础 1.CSS的三大特性 CSS三大特性之层叠性 CSS三大特性之继承性 行高的继承 CSS三大特性之优先级 CSS权重的叠加 十个在最后累加会变成0,0,0,10: ...

  5. 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程(复合选择器,元素显示模式,背景)

    一.基础班学习路线 三.CSS3基础 1.Emmet语法 emmet语法生成html标签 <!DOCTYPE html> <html lang="en"> ...

  6. 五、pink老师的学习笔记——CSS精灵技术(sprite)

    5. CSS精灵技术(sprite) 重点 5.1 为什么需要精灵技术 图所示为网页的请求原理图,当用户访问一个网站时,需要向服务器发送请求,网页上的每张图像都要经过一次请求才能展现给用户. 然而,一 ...

  7. 学成在线案例——黑马程序员pink老师\思路讲解\完整源代码

    本文为跟随B站黑马程序员pink老师学习CSS时所写,文章讲解了学成在线首页的制作思路,并贴出了源代码,作为学习笔记分享给大家 如有错误,欢迎指出.如有侵权,联系删除 文章目录 1. 案例准备工作 2 ...

  8. 事件对象以及事件委托(pink老师笔记)

    事件对象 element.onclick = function(e){console.log(e); } // event就是一个事件对象,写到我们侦听函数的小括号里面,可以当形参来看 // 事件对象 ...

  9. 【整理+总结】pink老师前端三件套之HTML笔记(二)HTML标签

    本笔记整理自pink老师前端课程[黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程] https://www.bilibili.com/video/BV ...

最新文章

  1. 子分类账知识学习(汇总网上比较有用的资料)
  2. 树莓派python实例_树莓派3 搭建 django 服务器的实例
  3. 最深刻最通俗的HTTPS 原理详解,图文并茂
  4. python语言流程控制语句的格式_Python流程控制语句的深入讲解
  5. Java8新特性之函数式接口
  6. jzoj1164-求和【欧拉函数,数论】(筛欧拉函数模板)
  7. JavaOne 2012覆盖率
  8. java实践SPI机制及浅析源码
  9. 快速排序查询第k大元素C语言,快速排序和查找第K大元素
  10. 开发问题---数据库字段前出现“—”(保存留用,仅供参考)
  11. 教育|施一公:研究生最重要的素质是什么?
  12. tcxgrid主从结构显示多行_快速跟随型主从结构多电机同步控制
  13. 中小学生应不应该学英语?
  14. matlab给hfss建模,HFSS-MATLAB联合建模
  15. [AT2306]Rearranging(拓扑序)
  16. 制作CDKEY:有效期的处理
  17. mp4编码为hevc无法在浏览器播放的问题(java进行转码为h264)
  18. CPU检测软件CPU-Z的下载使用
  19. 哈希值定义,哈希值是怎么生成的
  20. Dapp测评 | Dpark冠军团队原班人马全新力作:Monster Tamer怪兽大战,一触即发

热门文章

  1. 中国这10条逆天公路,火爆外网,你都认识多少?
  2. 在杭州,吃过这60样东西,人生才算完美!
  3. 变态公式之如何算出圆的内部被切割成几块?
  4. 为什么现在老师这么难,值得大家深思
  5. ftp服务器新建虚拟目录,ftp服务器 虚拟目录
  6. stc单片机c语言 pdf,STC单片机C语言程序设计 第13章 STC单片机C语言指针.pdf
  7. 点击ride界面edit空白_『技术锦囊』如何在SOLIDWORKS界面调用宏程序?
  8. python静态变量和静态方法_python的静态成员变量、实例成员变量、静态方法、类方法、实例方法...
  9. Angular运行在java_在本地运行现有Angular项目
  10. 前目的地罗伯森是谁_距离目的地只剩10公里,开车师傅却在高速公路上睡着了...