蓄水管问题用c++快一点

img

#include<bits/stdc++.h>
using namespace std;
 
int main()
{
    int a, b, c, d;
    int p, a2, b2, c2, d2, r;
    float t;
    cin >> a >> b >> c >> d;
    p = a * b * c * d;
    a2 = b * c * d;
    b2 = a * c * d;
    c2 = a * b * d;
    d2 = a * b * c;
    t = 0;
    r = p;
    for( ; ; ) {
        if(a2 >= r) {
            t += (float)r / a2;
            break;
        } else {
            t += 1;
            r -= a2;
        }
        t += 1;
        r += b2;
        if(c2 >= r) {
            t += (float)r / c2;
            break;
        } else {
            t += 1;
            r -= c2;
        }
        t += 1;
        r += d2;
    }
    cout << fixed << setprecision(2) << t << endl;
    return 0;
}