[解题报告]Ural 1011 Conductors
2011-05-17 13:18
218 查看
题目地址:http://acm.timus.ru/problem.aspx?space=1&num=1011
题目大意,城市有很多售票员,人数超过市民人数的P%而不倒Q%,求出最小市民数.其中题目给出的p和q最多到小数点后两位.
如果给出一个市民数N符合条件,则在N*P%和N*Q%之间存在一个正指数M即为售票员的人数.所以只要找到一个最小N使M存在即可.分析数据规模,P和Q之间的最小差为0.01,易得市民数N不会超过10000,所以枚举即可.该题要注意两点,一个是精度问题,另一个就是注意题目给出的范围不包括p%和q%..因为这个WA了一次....上代码..
题目大意,城市有很多售票员,人数超过市民人数的P%而不倒Q%,求出最小市民数.其中题目给出的p和q最多到小数点后两位.
如果给出一个市民数N符合条件,则在N*P%和N*Q%之间存在一个正指数M即为售票员的人数.所以只要找到一个最小N使M存在即可.分析数据规模,P和Q之间的最小差为0.01,易得市民数N不会超过10000,所以枚举即可.该题要注意两点,一个是精度问题,另一个就是注意题目给出的范围不包括p%和q%..因为这个WA了一次....上代码..
import java.util.Scanner; public class Main { public static void main(String[] args) { new Main(); } public Main(){ Scanner sc=new Scanner(System.in); while(sc.hasNext()){ double p=sc.nextDouble(); double q=sc.nextDouble(); int res=1; while(true){ //避免精度问题,转换成整数 int p2=(int)(p*res*100); int q2=(int)(q*res*100); int ans=q2/10000*10000; //满足p和q之间存在一个正整数 if(p2<ans&&q2>ans){break;} res++; } System.out.println(res); } } }
相关文章推荐
- 1586. Threeprime Numbers 解题报告 URAL
- Ural 1005 Stone Pilet 解题报告
- Ural 1073 Square Country 解题报告
- URAL 1931 Excellent Team 解题报告
- timus 1353. Milliard Vasya's Function 解题报告 URAL
- timus 1287. Mars Canals URAL 解题报告
- URAL 1935 Tears of Drowned 解题报告
- URAL1197解题报告
- URAL 1698||UVA 12009 解题报告
- DP+路径回溯 timus 1078. Segments URAL 解题报告
- URAL 1939 First Seal 解题报告
- timus 1635. Mnemonics and Palindromes URAL 解题报告
- 【解题报告】 Ural 1348 简单的计算几何
- URAL 1181 Cutting a Painted Polygon(解题报告)
- URAL 1936 Roshambo 解题报告
- URAL 1181 Cutting a Painted Polygon(解题报告)
- [解题报告]ural 1176 Hyperchannels
- [解题报告]ural 1163 Chapaev
- URAL 1181 Cutting a Painted Polygon(解题报告)
- URAL 1348 Goat in the Garden 2计算几何(解题报告)