#include <bits/stdc++.h>
using namespace std;
int M, S, T, s, x; // 魔法初始值M 距离出口S 沉没时间T 目前走的路程s
int main()
{
cin >> M >> S >> T;
int flag2 = 1; // 记录等cd时的初始值
int t = T; // 记录时间
while (T--)
{
if (M >= 10) // 能闪都给我闪
{
M -= 10;
s += 60;
flag2 = 1;
}
else
{
if (flag2)
{
x = int(ceil((10.0 - M) / 4)); // 还有多少秒才能再次闪烁
flag2 = 0;
}
if ((S - s) <= (x + 1) * 17 || T + 1 < x) // 不等cd
{
s += 17;
}
else // 等cd
{
M += 4;
}
}
if (s >= S)
{
cout << "Yes" << endl;
cout << t - T;
return 0;
}
}
cout << "No" << endl;
cout << s;
getchar();
getchar();
return 0;
}
【C++】P1095守望者的逃离
于 2022-12-16 15:05:57 首次发布