和的奇偶性(洛谷P4702题题解,Java语言描述)
生活随笔
收集整理的這篇文章主要介紹了
和的奇偶性(洛谷P4702题题解,Java语言描述)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目要求
P4702題目鏈接
分析
這游戲玩的看似博弈,其實是大水題,求和然后看是奇數偶數而已。
long是夠的,但我不想求和,想講講很多數據的處理方式:
逐個數判斷+位運算。
其實,(temp & 1) == 1就是判奇數的了,會快一些的。
還有就是設一個布爾值,表示是否為奇數。
怎么變化這個布爾值呢?
其實抽到偶數是不改變原先布爾值的(奇偶性),但抽到奇數就會使得原先奇數變成偶數,偶數變成奇數。
這一步的寫法是:
妙不可言!
AC代碼(Java語言描述)
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num = scanner.nextInt();//非奇數==偶數boolean isOdd = false;for (int i = 0; i < num; i++) {int temp = scanner.nextInt();//奇數if ((temp & 1) == 1) {isOdd = !isOdd;}}scanner.close();if (isOdd) {System.out.println("Alice");} else {System.out.println("Bob");}} }總結
以上是生活随笔為你收集整理的和的奇偶性(洛谷P4702题题解,Java语言描述)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面积计算(洛谷P5681题题解,Java
- 下一篇: 【数据结构与算法】共享栈的Java实现