#include <bits/stdc++.h>
#include <time.h>
using namespace std;
bool win = false;
int main() {
    srand((unsigned int)time(NULL));
    double ans,m = (rand() % 50 + 150) / 10.0,d = 0.0,u,en,mm;
    cout << "赌场,有"<< m << "元\n";
    while (m < 789113.00) {
        if (d >= 1111111.00 || m <= -1111111.00) {
            cout << "\n你贷款太多了!你被打4了!";
            return 0;
        }
        if (d >= 917813.00 || m <= -917813.00) {
            cout << "\n你贷款太多了!你被赶了出去!";
            return 0;
        }
        mm = 0.00;
        if (m <= 0.00) {
            cout << "\n是否贷款?(1,yes;2,no):";
            cin >> ans;
            if (ans == 1.00) {
                cout << "需要多少?\n";
                cin >> mm;
                if (mm > 1000.00) {
                    cout << "最多贷款1000!" << endl;
                    continue; 
                }
                d += mm;
                m += mm;
            } else if (ans == 2.00) {
                cout << "\n掉" << endl;
                return 0;
            } else {
                cout << "输入错误,请重新选择!" << endl;
                continue;
            }
        }
        cout << "\n赌多少:";
        cin >> u;
        if (u > m + 1e-8) { 
            cout << "不够钱" << endl;
            continue;
        }
        en = rand() % 5;
        win = (en == 0 || en == 1);
        mm = 0.00;
        if (win) {
            m -= u;
            if (u <= 15.00) {
                mm += 2 * u;
            } else if (u <= 50.00) {
                mm += 2 * u + 20.00;
            } else if (u <= 150.00) {
                mm += 3 * u;
            } else {
                mm += 4 * u;
            }
            cout << "\n你赢了,获得" << fixed << setprecision(2) << mm << "元!";
            m += mm;
            if (d > 1e-8) {
                d *= 1.1;
                cout << "\n你现在贷款" << fixed << setprecision(2) << d << "元!";
            }
        } else {
            m -= u;
            cout << "\n你输了,";
            if (d > 1e-8) {
                if (d <= 15000.00) d *= 1.1;
                else if (d <= 150000.00) d *= 1.2;
                else d *= 1.5;
                cout << "你现在贷款" << fixed << setprecision(2) << d << "元!";
            }
        }
        if (d > 1e-8 && m > 5.0) {
            if (m > d + 1e-8) {
                cout << "\n自动还款" << fixed << setprecision(2) << d << "元";
                m -= d;
                d = 0.00;
            }
            cout << "\n现在有" << fixed << setprecision(2) << m << "元";
            if (d > 1e-8) cout << "\n贷款" << fixed << setprecision(2) << d << "元";
        } else {
            cout << "\n你现在有" << fixed << setprecision(2) << m << "元";
        }
    }
    cout << "\n你赢了,你的存款:" << fixed << setprecision(2) << m << "元";
    return 0;
}