URAL_1011
由于限定了P、Q的精度,实际上总人数不会超过10^5,因此依次枚举可能的总人数即可。
#include<stdio.h> #include<string.h> #define D 10000 double P, Q; int query(int p, int q) { int i, x, y; for(i = 1; ; i ++) { x = i * p / D + 1; y = i * q / D; if(i * q % D == 0) -- y; if(x <= y) break; } return i; } int main() { int p, q; while(scanf("%lf%lf", &P, &Q) == 2) { p = (int)(P * 100 + 0.5), q = (int)(Q * 100 + 0.5); printf("%d\n", query(p, q)); } return 0; }