C艹,全部TLE,求助
查看原帖
C艹,全部TLE,求助
682471
封禁用户楼主2022/6/1 21:29
#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll x,y,z,A[500];
int w(ll a,ll b,ll c){
	if(a<=0 || b<=0 || c<=0) return 1;
	if(a>20 || b>20 || c>20) return w(20,20,20);
	if(a<b && b<c) return w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c);
	else return w(a-1,b,c)+w(a-1,b-1,c)+w(a-1,b,c-1)-w(a-1,b-1,c-1);
}
int main(){
	for(;;){
		cin>>x>>y>>z;
		if(x==y==z==-1) break;
		else cout<<"w("<<x<<","<<y<<","<<z<<") = " <<w(x,y,z)<<endl;
	}
	return 0;
}

本蒟蒻怀疑点:

1、for(;;)是不是没停下来,没有break,导致T掉?

2、是不是数据太大,函数这里出了问题T掉?

P.S.本蒟蒻不会记忆化搜索,本体能做吗...

2022/6/1 21:29
加载中...