蒟蒻求助!!!
  • 板块学术版
  • 楼主ST_jz_xpj
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/8/5 09:14
  • 上次更新2024/8/5 10:12:22
查看原帖
蒟蒻求助!!!
1378388
ST_jz_xpj楼主2024/8/5 09:14

P1016用此代码过不了第5个点QAQ 想破脑袋想不出QAQ~~~

#include<iostream>
using namespace std;
double D,d[10],c,p[10],mi,all,t;int n,Mi;bool g;
bool see(int now){
	int i=now+1;mi=p[i];g=true;Mi=i;
	if(t*c<(d[i]-d[now])) return false;
	for(;t*c>=(d[i]-d[now])&&g&&i!=n+2;i++){
		if(p[i]<=p[now]){
			g=false;
			Mi=i;
		}
		if(p[i]<=mi)Mi=i;
	}
	all+=(d[Mi]-d[now])/t*p[now];
	if(Mi==n+1)return true;
	return see(Mi);
}
int main(){
	cin>>D>>c>>t>>p[0]>>n;d[n+1]=D;
	for(int i=1;i<=n;i++){
		cin>>d[i]>>p[i];
	}
	if(see(0))printf("%.2lf",all);
	else cout<<"No Solution";
	return 0;
}
2024/8/5 09:14
加载中...