永远网站建设,成都的网站设计公司价格,wordpress页面添加主页,如何快速做网站排名有A#xff0c;B两个同学想要分苹果。A的想法是使用二进制进行#xff0c;1 1相加不进一位#xff0c;如#xff08;9 5 1001 101 12#xff09;。B同学的想法是使用十进制进行#xff0c;并且进一位。会输入两组数据#xff0c;一组是苹果总数#xff0c;一组分别… 有AB两个同学想要分苹果。A的想法是使用二进制进行1 1相加不进一位如9 5 1001 101 12。B同学的想法是使用十进制进行并且进一位。会输入两组数据一组是苹果总数一组分别是每个苹果的重量。如果让B同学在满足A同学的情况下获取到苹果的总重量且返回如果不能则返回-1。 输入 3 3 5 6 返回 11 备注按照A同学的想法 5 6 3 101 110 010 思路异或运算排序取最大 /**常用的位运算符与 同1出1有0出0或|有1出1全0出0异或^相同出0不同出1非~又叫取反左移 即乘2最右边加个0右移 即除2删掉最右边一位*/
public class ShareApple {public static void main(String[] args) {Scanner sc new Scanner(System.in);int num Integer.parseInt(sc.nextLine());int[] apple new int[num];for (int i 0; i num ;i){apple[i] sc.nextInt();}int x 0;for (int j 0; j apple.length;j){//把所有苹果重量累加异或如果结果为0则满足A条件那么B在所有苹果中最小的一个给A其它归Bx ^ apple[j];}//能满足A条件评分if (x0){Arrays.sort(apple);int bApple 0;for (int i 1;i apple.length;i){bApple apple[i];}System.out.println(bApple);//不能满足A条件分苹果}else if (x!0){System.out.println(-1);}}
}