求助 P1095
  • 板块学术版
  • 楼主WD2c0mP
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/6/23 13:01
  • 上次更新2024/6/23 15:52:22
查看原帖
求助 P1095
780641
WD2c0mP楼主2024/6/23 13:01

P1095 为什么最后四个点不对?想的就是能用闪现就用,最后几步如果回蓝比走路慢就走路。

P1095 Почему последние четыре пункта неверны? Идея заключается в том, чтобы использовать вспышку, когда это возможно, и пройти последние несколько шагов, если возвращение синего цвета происходит медленнее, чем ходьба.

#include<bits/stdc++.h>
using namespace std;
int m,s,t,nows = 0;
bool walk() {
	int nowt = (10 - m) / 4 + 1;
	if (nowt * 17 > (s - nows) && (s - nows) <= 60) return true;
	return false;
}
int main(){
	cin >> m >> s >> t;
	for (int i = 1;i <= t;i ++) {
		if (nows > s) {
			cout << "Yes" << endl << i - 1 << endl;
			return 0;
		}
		if (walk()) {nows += 17;continue;}
		else if (m >= 10) {
			m -= 10,nows += 60;
		} else {
			m += 4;
		}
		if (nows > s) {
			cout << "Yes" << endl << i << endl;
			return 0;
		}
	}
	cout << "No" << endl << nows << endl;
	return 0;
}
2024/6/23 13:01
加载中...