社区讨论

哪位大佬帮忙看一下哪里有错

P4282[AHOI2008] 计算器参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@mi7xgxk2
此快照首次捕获于
2025/11/21 05:12
4 个月前
此快照最后确认于
2025/11/21 05:12
4 个月前
查看原帖
CPP
#include<cstdio>
#include<iostream>
using namespace std;
int n,l;
char b;
int main()
{
	scanf("%d",&n);
	int j[n]={},j1[n+1]={},j2[n+1]={};
	for(int i=1;i<=n;i++)scanf("%d",&j[i]);
	for(int i=1;i<=n;i++)scanf("%d",&j1[i]);
	cin>>b;
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&j2[i]);
	//	if(!l)
	//	{
	//		if(j2[i]>j1[i])
	//		l=2;
	//		else if(j1[i]>j2[i])
	//		l=1;
	//	}
	}
	if(b=='+')
	{
		for(int i=n;i>0;i--)
		{
			j1[i]+=j2[i];
			j1[i-1]+=j1[i]/j[i];
			j1[i]%=j[i];
		}
		for(int i=1;i<n;i++)printf("%d ",j1[i]);
		printf("%d\n",j1[n]);
		return 0;
	}
	else
	{
	//	if(l==2)
	//	{
	//		for(int i=n;i>0;i--)
	//		{
	//			j2[i]-=j1[i];
	//			if(j2[i]<0)
	//			{
	//				j2[i]+=j[i];
	//				j2[i-1]--;
	//			}
	//		}
	//		printf("-");
	//		for(int i=0;i<n;i++)
	//		printf("%d ",j2[i]);
	//		printf("%d\n",j2[n]);
	//		//for(int i=1;i<=n;i++)
	//		//j2[i]=j[i]-j2[i]+1;
	//		//for(int i=0;i<n;i++)
	//		//printf("%d ",j2[i]);
	//		//printf("%d\n",j2[n]);
	//		return 0;
	//	}
	//	else
	//	{
			for(int i=n;i>0;i--)
			{
				j1[i]-=j2[i];
				if(j1[i]<0&&i!=1)
				{
					j1[i]+=j[i];
					j1[i-1]--;
				}
			}
			for(int i=1;i<n;i++)
			printf("%d ",j1[i]);
			printf("%d\n",j1[n]);
			return 0;
	//	}
	}
}

回复

0 条回复,欢迎继续交流。

正在加载回复...