捞
  • 板块灌水区
  • 楼主King_duck
  • 当前回复0
  • 已保存回复0
  • 发布时间2023/11/14 22:21
  • 上次更新2023/11/14 22:22:33
查看原帖
捞
823594
King_duck楼主2023/11/14 22:21

求助

题目P1581

代码:

#include<bits/stdc++.h>
using namespace std;
const int N=1e6+10;
string s;
long long a[N],b[N],c[N],l=2,ll=1,m[10]={0,2,3,5,7,11,17};
int main() 
{
	cin>>s;
    int len=s.size(),flg=0,l_a=1,l_b=1;
    for(long long i=len;i>=0;i--)
    {
    	if(s[i]=='+')
    	{
    		flg=1;
    		continue;
		}
		if(isdigit(s[i])==1)
		{
			if(flg==0)
			{
				a[l_a]=s[i]-'0';
				l_a++;
			}
			else
			{
				b[l_b]=s[i]-'0';
				l_b++;
			}
		}
	}
	int len2=max(l_a,l_b);
	for(long long i=1;i<=len2;i++)
	{
		c[i]+=a[i]+b[i];
		if(c[i]>=l)
		{
			c[i+1]+=c[i]/l;
			c[i]%=l;
		}
		l+=ll;
		ll+=1;
	}
	for(long long i=1;;i++)
	{
		if(c[len2+i]!=0)
		{
			len++;
		}
		else
		{
			break;
		}
	}
	for(long long i=len2;i>=1;i--)
	{
		cout<<c[i];
		if(i!=1)
		{
			cout<<',';
		}
	}
    return 0;
}

只得了 6060 分,求助。

2023/11/14 22:21
加载中...