C题模拟

求助大佬,为啥这样只过了45%,自己设的案例能过的
#include<vector>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<set>
#include<algorithm>
#include<queue>
#include<stack>
#include<map>
#include<list>
#include<string>
#define inf 0x3f3f3f3f
using namespace std;
typedef long long ll;
const int maxn=1e5+5;
struct node{
	ll zcr=0;  //正常人 
	ll grz=0;  //感染者 
	ll xdz=0;  //携带者 
	ll zys=0;  //治愈者 
}a[maxn];
int main()
{
	int T;
	cin>>T;
	while(T--){
		int x,m,n;
		cin>>x>>m>>n;
		for(int i=1;i<=n;i++){
			a[i].grz=0;
			a[i].xdz=0;
			a[i].zcr=0;
			a[i].zys=0;
		}
		if(n<8) cout<<0<<'\n';
		else{
			ll sum=0;
			a[1].xdz=1;
			a[14].zys=1;
			a[8].grz=1;
			a[8].xdz=x;
			a[8+13].zys=x;
			sum=min(1+x,m);
			for(int i=9;i<=n;i++){
				a[i].grz=a[i-1].grz+a[i-7].xdz-a[i].zys;
				a[i].xdz=min(a[i].grz*x,m-sum);
				a[i+13].zys=a[i].xdz;
				sum+=a[i].xdz;
			}
			cout<<a[n].grz<<'\n';
		}
	}
	return 0;
}

全部评论
我觉得这题应该是用bfs做的吧
点赞 回复 分享
发布于 2020-06-07 18:36

相关推荐

昨天 15:33
已编辑
西北大学 golang
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务