北京理工大学 邮票

题目描述
某人有8 角的邮票5 张,1 元的邮票4 张,1 元8 角的邮票6 张,用这些邮票中的一张或若干张可以得到多少中不同的邮资?
输入描述:
无
输出描述:
输出一行,表示题目所求。
示例1
输入
复制
无
输出
复制
无
import java.util.*;
import java.io.*;
import java.math.*;
import java.text.* ;
public class Main
{
	static int res = 0;
	static int[] price = {8, 8, 8, 8, 8, 10, 10, 10, 10, 18, 18, 18, 18, 18, 18};
	static HashSet<Integer> set = new HashSet<>(); 
	public static void main(String[] args) {
		backtrack(0, 0);
		System.out.println(res-1);//要去掉邮资为0的点
	}
	public static void backtrack(int start, int sum) {
		if(!set.contains(sum)) {
			set.add(sum);
			res++;
		}
		for(int i = start; i < 15; i++) {
			backtrack(i+1, sum+price[i]);
		}
	}
}



发布了231 篇原创文章 · 获赞 22 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43306331/article/details/104237563