找大佬求调
查看原帖
找大佬求调
1050958
liupinli2012_mini楼主2024/3/16 22:15
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=15;
int n,E,m,ta,da,ua,w,eb,tb,db,ub,t[N],d[N],e[N],k;
struct node
{
	int n,tot,angry,a,b,t=1,s;
}x,y;
struct Node
{
	int t,s;
}dp[10][15][85][35][20];
signed main()
{
	cin>>n>>x.s>>E>>m>>ta>>da>>ua>>w>>eb>>tb>>db>>ub;
	for(int i=0;i<n;i++)
		cin>>t[i]>>d[i]>>e[i];
	for(;x.s>0;x=y)
	{
		Node z=dp[x.a][x.b][x.angry][x.tot][x.n];
		if(z.t&&x.s>=z.s-x.s)
		{
			int l=x.s/(z.s-x.s);
			y=x,y.t+=l*(x.t-z.t),y.s-=l*(z.s-x.s);
		}
		else if(y.a<=0&&y.angry>=E)
			y.n=0,y.tot=x.tot,y.angry=0,y.a=ua,y.b=x.b-ta,y.t=x.t+ta,y.s=x.s+da;
		else if(y.b<=0)
			y.n=0,y.tot=x.tot,y.angry=x.angry+eb,y.a=x.a-tb-w,y.b=ub,y.t=x.t+tb,y.s=x.s+db;
		else
			y.n=(x.n+1)%n,y.tot=x.tot-1,y.angry=x.angry+e[x.n],y.a=x.a-t[x.n],y.b=x.b-t[x.n],y.t=x.t+t[x.n],y.s=x.s+d[x.n];
		dp[x.a][x.b][x.angry][x.tot][x.n]={x.t,x.s};
	}
	cout<<x.t-1;
	return 0;
}

RE,愣是找不到原因

2024/3/16 22:15
加载中...