求助!第3个点TLE,其他全是RE
查看原帖
求助!第3个点TLE,其他全是RE
304722
HarryPotterJames楼主2021/9/3 12:52
#include<bits/stdc++.h>
using namespace std;
int f[21][21][21];
long long function(long long a,long long b,long long c)
{
	if(a<=0||b<=0||c<=0) return 1;
	if(a>20||b>20||c>20) return function(20,20,20);
	if(a<b&&b<c) return function(a,b,c-1)+function(a,b-1,c-1)-function(a,b-1,c);
	return function(a-1,b,c)+function(a-1,b-1,c)+function(a-1,b,c-1)-function(a-1,b-1,c-1);
}
int main()
{
	long long a,b,c;
	while(cin>>a>>b>>c)
	{
		if(a==-1&&b==-1&&c==-1) return 0;
		if(a<0||b<0||c<0) cout<<"w(a, b, c) = 1"<<endl;
		if(f[a][b][c]) cout<<"w(a, b, c) = "<<f[a][b][c]<<endl;
		else
		{
			f[a][b][c]=function(a,b,c);
			cout<<"w(a, b, c) = "<<f[a][b][c]<<endl;
		}
	}
	return 0;
}
2021/9/3 12:52
加载中...