超时了咋搞?求救求救
查看原帖
超时了咋搞?求救求救
276303
初十三楼主2020/11/8 19:27
#include<bits/stdc++.h>
using namespace std;

int a[10000];
int n,m,j=0;
void dg(int h)
{
	if(h==m)
	{
		a[0]++;
		if(a[0]>9)
		{
			for(int i=0;i<j;i++)
			{
				if(a[i]>9)
				{
					a[i+1]+=1;
					a[i]-=10;
				}
				else
				{
					break;
				}
			}
			if(a[j]>9)
			{
				a[j+1]+=1;
				a[j]-=10;
				j++;
			}
		}
		return ;	
	}
	if(h>m) return ;
	for(int i=1;i<=2;i++)
	{
		dg(h+i);
	}
	return ;
}
int main()
{
	cin >> n >> m;
	memset(a,0,sizeof(0));
	dg(n);
	for(int i=j;i>=0;i--)
	{
		cout << a[i];
	}
	return 0;
}
2020/11/8 19:27
加载中...