社区讨论

为什么是错的?

P1581A+B Problem(升级版)参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lo8n73x2
此快照首次捕获于
2023/10/27 21:21
2 年前
此快照最后确认于
2023/10/27 21:21
2 年前
查看原帖
我检查了一遍,没有问题啊?
CPP
#include <bits/stdc++.h>
using namespace std;
int a[7]={2,3,5,7,11},aa[8]={},bb[8]={};
int c[8];
signed main()
{
	string b;
	cin>>b;
	int temp=0,k,sum1=0,sum2=0,sum3=0;
	for(int i=b.size()-1;i>=0;i--)
	{
		if(b[i]=='+')
		{
			k=i-1;
			break;
		}
		else
		{
			if(b[i]>='0'&&b[i]<='9')
			{
				aa[temp++]=b[i]-'0',sum1++;
			}
		}
	}
	temp=0;
	for(int i=k;i>=0;i--)
	{
		if(b[i]>='0'&&b[i]<='9')
		{
			bb[temp++]=b[i]-'0',sum2++;
		}
	}
	int max=(sum1>sum2)?(sum1):(sum2);
	for(int i=0;i<max;i++)
	{
		c[i]+=aa[i]+bb[i];
		if(c[i]>=a[i])
		{
			c[i]-=a[i];
			c[i+1]++;
			sum3++;
		}
	}
	for(int i=7;i>0;i--)
	{
		if(c[i]==1) sum3++;
		else break;
	}
	for(int i=sum3+1;i>0;i--)
	{
		cout<<c[i]<<",";
	}
	cout<<c[0];
	return 0;
}

回复

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

正在加载回复...