写了大半天,结果……0
查看原帖
写了大半天,结果……0
955954
Miracle_InDream楼主2023/7/28 20:59

开始处理一大堆报错就炸了

然后……

爆0

#include<bits/stdc++.h>
using namespace std;
int s1,s2,s3,s4;
int a[1000],b[1000],c[1000],d[1000];
int time2=0;
int dfs1(int s)
{
	if(s==1)
		return a[0];
	int ans=0,time1=0;
	for(int i=0;i<s-1;i++)
	{
		if(a[i]==a[i+1])
		{
			i++;
			time1+=a[i];
		}
		else if(a[i]<a[i+1])
		{
			ans=a[i+1]-a[i];
			a[i+2]-ans;
			time1+=a[i+1];
		}
		else
		{
			ans=a[i]-a[i+1];
			a[i+2]-ans;
			time1+=a[i];
		}
		return time1;
	}
}
int dfs2(int s)
{
	if(s==1)
		return b[0];
	int ans=0,time1=0;
	for(int i=0;i<s-1;i++)
	{
		if(a[i]==b[i+1])
		{
			i++;
			time1+=b[i];
		}
		else if(b[i]<b[i+1])
		{
			ans=b[i+1]-b[i];
			b[i+2]-ans;
			time1+=b[i+1];
		}
		else
		{
			ans=b[i]-b[i+1];
			b[i+2]-ans;
			time1+=b[i];
		}
		return time1;
	}
}
int dfs3(int s)
{
	if(s==1)
		return c[0];
	int ans=0,time1=0;
	for(int i=0;i<s-1;i++)
	{
		if(c[i]==c[i+1])
		{
			i++;
			time1+=c[i];
		}
		else if(c[i]<c[i+1])
		{
			ans=c[i+1]-c[i];
			c[i+2]-ans;
			time1+=c[i+1];
		}
		else
		{
			ans=c[i]-c[i+1];
			c[i+2]-ans;
			time1+=c[i];
		}
		return time1;
	}
}
int dfs4(int s)
{
	if(s==1)
		return d[0];
	int ans=0,time1=0;
	for(int i=0;i<s-1;i++)
	{
		if(d[i]==d[i+1])
		{
			i++;
			time1+=d[i];
		}
		else if(d[i]<d[i+1])
		{
			ans=d[i+1]-d[i];
			d[i+2]-ans;
			time1+=d[i+1];
		}
		else
		{
			ans=d[i]-d[i+1];
			d[i+2]-ans;
			time1+=d[i];
		}
		return time1;
	}
}
int main()
{
	cin>>s1>>s2>>s3>>s4;
	for(int i=0;i<s1;i++)
	{
		cin>>a[i];
	}
	for(int i=0;i<s2;i++)
	{
		cin>>b[i];
	}
	for(int i=0;i<s3;i++)
	{
		cin>>c[i];
	}
	for(int i=0;i<s4;i++)
	{
		cin>>d[i];
	}
	cout<<dfs1(s1)+dfs2(s2)+dfs3(s3)+dfs4(s4)+1;
	return 0;
}
2023/7/28 20:59
加载中...