CodeForces 592C (胡搞)
http://codeforces.com/problemset/problem/592/C
题意是:
两个人A和B每个人每走一步的距离分别为w,b。现在给一个跑道,跑道后面是悬崖,人不能掉进悬崖。问最终A和B谁离起点越远谁获胜。
然后给一个长度L,问在长度L的范围里面,不能判断胜负的概率是多少。
解题思路:
1.当距离小于min(w,b)时,两人都在原点,不能判断出胜负。
2.当距离为w,b的最小公倍数时,即 lcm(w,b)时,不能判断出胜负。
3.当距离为 K*lcm(w,b)+min(w-1,b-1)时,两人都在 K * lcm(w,b)处,不能判断胜负。
4.当跳完最后一个满足 K*lcm(w,b)<=t的K时,后面有一段距离要巧妙的处理,这时候要取 min(min(w-1,b-1),t%lcm(w,b))。主要是避免 K * lcm(w,b) + min(w-1,b-1) > t的情况。
其中求lcm时,换成double型增大Long long 的范围。
感觉稍微有点难度的地方是第三点不好想。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <set>
#include <vector>
#include <map>
#include <queue>
#include <stack>
#include <algorithm>
using namespace std;
typedef long long LL;const double eps = 1e-9;
LL gcd(LL a,LL b)
{return b==0?a:gcd(b,a%b);
}int main()
{LL t,w,b;cin>>t>>w>>b;LL tmp = gcd(w,b);LL ans = min(min(w-1,b-1),t);if(!(1.*w/tmp * b - t > eps)){LL lcm = w/tmp *b;ans += t/lcm + (t/lcm-1)*min(w-1,b-1) + min(min(w-1,b-1),t%lcm);}LL now = gcd(ans,t);cout<<ans/now<<"/"<<t/now<<endl;return 0;
}
CodeForces 592C (胡搞)相关推荐
- Linux作者批评英特尔指令集,Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞...
原标题:Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞 Linux之父炮轰英特尔:ECC内存很重要,不好买都怪你胡搞 原创PCEVA评测室2021-01-06 11:31:08 很多人认 ...
- Codeforces Round #143 (Div. 2) C. To Add or Not to Add 胡搞
A piece of paper contains an array of n integers a1, a2, ..., an. Your task is to find a number that ...
- CodeForces 592C The Big Race
公倍数之间的情况都是一样的,有循环节. 注意min(a,b)>t的情况和最后一段的处理.C++写可能爆longlong,直接Java搞吧...... import java.io.Buffere ...
- HDU 3313 Key Vertex 胡搞(网络流最小割拆点什么的人家才不会呢)
problem大意:给you一个无loop有向graph,求它的key vertex数目.(最近刚过了英语六级,耶,1Y,炫耀~~~~~) 什么是key vertex呢?就是去掉以后从起点到不了终点了 ...
- 在博客里胡搞markdown排版是否搞错了什么
(1)回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 当时高考完分数出来准备报志愿的时候,我犹豫应该选择什么专业.开始的时候我考虑土木工程,但是我母亲极力要求我必须要 ...
- NOJ——1624死胡同(胡搞模拟)
[1624] 死胡同 时间限制: 1000 ms 内存限制: 65535 K 问题描述 一个死胡同由排成一列的 n 个格子组成,编号从 1 到 n . 实验室的"猪猪"一开始在1号 ...
- [胡搞]Deecamp 2019 第二次考试B卷笔试知识点回忆
上一年的平台不稳定,掉线了没交上去.虽说是开卷,太怂了没敢上网查,哗哗翻书.这一年已知大概没时间去,参加一场看看今年出的题.然后电脑半天没充上电开不开机(愚蠢的我插在了一个没接电的插排上),一个半小时 ...
- 【胡搞的不能AC的题解,暴力搜索一发博弈问题】1995 三子棋 - 51Nod
1995 三子棋 题目来源: syu校赛 基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题 原题链接: https://www.51nod.com/onlineJudge/ ...
- 胡搞瞎搞JScript记(用JScript代替批处理文件)
今天下午项目经理老蔡同志分配给我一个光荣任务,做一个批处理文件把某个文件夹下的.exe文件和所有子目录下的.exe文件复制到另外一个文件夹,并且不复制文件夹结构,也就是所有都放到目标目录下不分级. 上 ...
- Codeforces Round #828 (Div. 3)-赛后总结
Dashboard - Codeforces Round #828 (Div. 3) - Codeforces 打完比赛的晚上美滋滋的看着解出来的六道题,心想着能够加上一百多分.一觉醒来眼睁睁看着E1 ...
最新文章
- windows 文件关联图标的设置方法 (附部分代码)
- Graves of the Internet - 互联网坟墓
- 【Groovy】集合遍历 ( 使用集合的 find 方法查找集合元素 | 闭包中使用 == 作为查找匹配条件 | 闭包中使用 is 作为查找匹配条件 | 闭包使用 true 作为条件 | 代码示例 )
- python popen sqlplus_Python基于Select模型实现Popen输出
- NF5270M3服务器主板安装系统,NF5270M3 – 主板相关
- 一个tomcat部署俩个java web项目
- 移动开发者选项手机如何打开真机调试模式
- 什么是单页应用(转)
- linux nuttx 环境搭建,ubuntu14.04 nuttx开发环境的搭建
- 我国高性能计算机发展,中国高性能计算机发展水平与趋势
- 在CentOS中安装和部署nacos配置中心
- sqoop从musql导入到hive中数据缺失
- Aurora-------在 MSOffice 内输入 LaTeX 公式的很好用插件
- python之scipy
- java中求平方函数和开方函数
- linux wine编译安装目录,wine32和wine64共存编译安装方法
- 羊车门问题。有三扇关闭的门,一扇门背后面停着汽车,其余门后面是山羊,只有主持人知道每扇门后面是什么。参赛者可以选择一扇门,在开启它之前,主持人会开启另一扇门,露出门后的山羊,然后允许参赛者更换自己的选
- 在wget中指定代理服务器
- visio添加外键约束
- 保持精力旺盛的25招 送给奋斗的男人 (转)