日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

PAT_B_1089_Java(20分)

發布時間:2023/12/15 java 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 PAT_B_1089_Java(20分) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader;public class Main {// w1,w2是狼,word是玩家說的話private static boolean judge(int w1, int w2, int word) {// 判斷是否是真話if (word < 0 && (0 == word + w1 || 0 == word + w2)) {return true; // 語義:某位玩家是狼,并且他真的是狼} else if (word > 0 && word != w1 && word != w2) {return true; // 語義:某位玩家是人,并且他真的是人}return false; // 否則是謊話}public static void main(String[] args) throws IOException {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));int n = Integer.parseInt(br.readLine()); // 玩家人數int[] word = new int[n + 1]; // 玩家說的話for (int i = 1; i <= n; ++i) {word[i] = Integer.parseInt(br.readLine());}boolean find = false; // 初始未找到狼for (int i = 1; i < n && !find; ++i) { // 假設第i位是狼,且未找到狼for (int j = i + 1; j <= n && !find; ++j) { // 假設第j位是狼,且未找到狼boolean word1 = judge(i, j, word[i]); // i說的話boolean word2 = judge(i, j, word[j]); // j說的話if (word1 && !word2 || !word1 && word2) {// 一真一假int liePeopleNum = 0; // 說謊的“好人”數// 遍歷“好人”,找到說謊的“好人”數for (int k = 1; k <= n && liePeopleNum <= 1; ++k) {if (k != i && k != j && !judge(i, j, word[k])) {++liePeopleNum; // k(“好人”)說假話,說謊的“好人”數加1}}if (1 == liePeopleNum) { // 有且僅有一個“好人”說謊find = true; // 已找到System.out.println(i + " " + j);// i和j是狼}}}}if (false == find) {System.out.println("No Solution"); // 未找到,無解}} }

總結

以上是生活随笔為你收集整理的PAT_B_1089_Java(20分)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。