/* 原来物理在ACM上也有应用的,有关积分的题目真的是几乎没有做过的 一直到比赛的最后才AC的,纠结的说 牛顿的冷却定理是参考了baidu的,确切的说不是评自己的水平AC的 以后看到非线性的方程要想到积分 */ #include <iostream> #include <algorithm> #include <cmath> using namespace std; int main() { int t; //freopen("hxsh.in", "r", stdin); scanf("%d", &t); double e = 2.718281828459045; for(int i = 1; i <= t; i++) { int ua, u0, u1, t1, n; scanf("%d %d %d %d %d", &ua, &u0, &u1, &t1, &n); double k; if(u0 == ua)// 这里没有处理,一直wrong k = 0; else { double w = 1.0 * (u1 - ua) / (u0 - ua); k = -log10 (w) / log10(e) / t1; // log w } //printf("%0.2lf/n", k); int p, s; printf("Case %d:/n", i); while(n--) { scanf("%d %d", &p, &s); if(p == 0) { if(s == u0 || u0 == ua) { printf("0.00/n"); continue; } if(s == u1 || u1 == ua) { printf("%.2lf/n", 1.0 *t1); continue; } double b = 1.0 * (s - ua)/ (u0 - ua); double d = (log10 (b)) / (log10 (e)); double tt = d / (-k); printf("%0.2lf/n", tt); //printf("/n"); } else { double c; c = ua + (u0 - ua) * pow(e, -k * s); printf("%0.2lf/n", c); //printf("/n"); } } printf("/n"); } return 0; }