Java CodeForces 1230A

题目:

Dawid有了 包糖果。第 包里面有 Ai 个糖果。 Dawid想把这四包糖果送给两个朋友,能否让两个朋友收到相同数量的糖果?
注意,不能拆开任何一包糖,不能把糖果留给自己或扔掉,四包糖果都应该送出去。 

输入:

一行包含四个整数 A1、A2、A3、A4(1≤Ai≤100) 
分别代表每一包中糖果的数量。

输出:

如果可以让两个朋友得到相同数量的糖果,则输出“YES”,不能则输出“NO”。

样例:

1 7 11 5
YES

7 3 2 5
NO

思路

这道题思路很简单,直接看代码就能看懂

代码:

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

public class Main {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int []a = new int[4];
        for (int i = 0; i < a.length; i++) {
            a[i]=scanner.nextInt();
        }
        int sum=0;
        for (int i = 0; i < a.length; i++) {
            sum+=a[i];
            
        }
        if (sum%2!=0) {
            System.out.println("NO");
            return ;
        }
        Arrays.sort(a);
        int temp=sum/2;
        for (int i = 0; i < a.length; i++) {
            int res=a[i];
            for (int j = i+1; j < a.length; j++) {
                res = res+a[j];
                if (res==temp) {
                    System.out.println("YES");
                    return ;
                }
                if (res>temp) {
                    break;
                }
            }
        }
        System.out.println("NO");
        
    }

}
原文地址:https://www.cnblogs.com/xiaoyh/p/15520080.html