题目链接:Function

java代码:

import java.util.Arrays;
import java.util.Scanner;

public class Main {
	
	public static long w(long arr[][][],int a,int b,int c) {
		if(a<=0||b<=0||c<=0) return 1;
		else if(arr[a][b][c]!=0) return arr[a][b][c];
		else if(a>20||b>20||c>20) arr[a][b][c] = w(arr,20,20,20);
		else if(a<b&&b<c) arr[a][b][c] = w(arr,a,b,c-1)+w(arr,a,b-1,c-1)-w(arr,a,b-1,c);
		else arr[a][b][c] = w(arr,a-1,b,c)+w(arr,a-1,b-1,c)+w(arr,a-1,b,c-1)-w(arr,a-1,b-1,c-1);
		return arr[a][b][c];
	}
	
	public static void main(String[] args) {
		
		long a,b,c;
		long arr[][][] = new long[25][25][25];
		for(int i=0;i<25;++i)
			for(int j=0;j<25;++j)
				Arrays.fill(arr[i][j], 0);
		
		Scanner in = new Scanner(System.in);
		a = in.nextLong();
		b = in.nextLong();
		c = in.nextLong();
		
		while(a!=-1||b!=-1||c!=-1) {
			System.out.print("w(" + a + ", " + b + ", " + c + ") = ");
			if(a>20) a = 21;
			if(b>20) b = 21;
			if(c>20) c = 21;
			System.out.println(w(arr,(int)a,(int)b,(int)c));
			a = in.nextLong();
			b = in.nextLong();
			c = in.nextLong();
		}
		
	}
}
Logo

昇腾计算产业是基于昇腾系列(HUAWEI Ascend)处理器和基础软件构建的全栈 AI计算基础设施、行业应用及服务,https://devpress.csdn.net/organization/setting/general/146749包括昇腾系列处理器、系列硬件、CANN、AI计算框架、应用使能、开发工具链、管理运维工具、行业应用及服务等全产业链

更多推荐