import java.util.*;

public class HappinessDay {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("请输入彩虹糖数量:");
        int n = scanner.nextInt();
        int[] candies = new int[n];
        System.out.println("请输入彩虹糖颜色:");
        for (int i = 0; i < n; i++) {
            candies[i] = scanner.nextInt();
        }
        
        int maxHappyDays = 0;
        for (int i = 0; i < n; i++) {
            for (int j = i + 1; j < n; j++) {
                int count = 0;
                boolean[] eaten = new boolean[n];
                for (int k = 0; k < n; k++) {
                    if (!eaten[k] && (candies[k] == candies[i] || candies[k] == candies[j])) {
                        eaten[k] = true;
                        count++;
                    }
                }
                maxHappyDays = Math.max(maxHappyDays, count);
            }
        }
        
        System.out.println("最多会有 " + maxHappyDays + " 天很高兴。");
    }
}

这个程序首先接收用户输入的彩虹糖数量和颜色,然后使用两层循环遍历所有可能的彩虹糖颜色组合。对于每个组合,使用一个布尔数组记录已经吃过的彩虹糖,然后遍历所有彩虹糖,如果彩虹糖的颜色等于组合中的颜色之一且没有被吃过,则将其标记为已吃,并将计数器加一。最后,比较每个组合的计数器值,取最大值作为最多的高兴天数。最后打印出最多的高兴天数

使用java完成编译在一个main方法中完成例如小美有6颗彩虹糖颜色分别是【114514】。小美第一天吃颜色为1和4的彩虹糖小美会很高兴;小美第二天吃颜色为4和1的彩虹糖小美不会很高兴;小美第三天吃颜色为1和5的彩虹糖小美会很高兴;此时小美共有2天很高兴。小美想知道她最多会有几天很高兴。彩虹糖数量为用户自主输入

原文地址: https://www.cveoy.top/t/topic/iWdi 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录