90分,但思路似乎不对,有救吗?
查看原帖
90分,但思路似乎不对,有救吗?
465055
1004779564bzbjj楼主2023/9/5 19:20

WA#9,最短逃离时间算错

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int m,s,t,i;
int main(){
	cin>>m>>s>>t;
	int n=s;
	for(i=1;i<=t;i++){
		if(m>=10){
			m-=10;
			s-=60;
			//cout<<"tp"<<endl;
		}
		else
		if(t-i==0){
			s-=17;
			//cout<<"run"<<endl;
		}
		else
		if(t-i==1){
			if(m>=6){
				m+=4;
				//cout<<"inc"<<endl;
			}
			else{
				s-=17;
				//cout<<"run"<<endl;
			}
		}
		else 
		if(t-i==2){
			if(m>=2){
				m+=4;
				//cout<<"inc"<<endl;
			}
			else{
				s-=17;
				//cout<<"run"<<endl;
			}
		}
		else if(s<=17){
			s-=17;
			//cout<<"run"<<endl;
		}
		else if(s<=34&&m<6){
			s-=17;
			//cout<<"run"<<endl;
		}
		else if(s<=51&&m<2){
			s-=17;
			//cout<<"run"<<endl;
		}
		else{
			m+=4;
			//cout<<"inc"<<endl;
		}
		if(s<=0)break;
	}
	if(s<=0){
		cout<<"Yes"<<endl<<i;
	}
	else cout<<"No"<<endl<<n-s;
	return 0;
}
2023/9/5 19:20
加载中...