題目:Pascal大學是某國家最古老的大學之一,需要翻新圖書館大樓,因為經歷了幾個世紀後,建築開始無法承受巨大數量的館藏書籍的重量。
為了幫助重建,大學校友協會決定舉辦一系列的籌款晚宴,邀請所有的校友參加。這種活動被證明是非常成功的,在過去幾年舉辦了幾次(成功的原因之一是Pascal大學的畢業生對學生時代有著美好的回憶,並希望看到一個重修後的Pascal圖書館)。
組織者保留了試算表,表明每一場晚宴有哪些校友參加了。現在,他們希望幫助確定是否有校友參加了所有的晚宴。
輸入:輸入包含若干測試用例。測試用例的第一行列出兩個整數 N 和 D ,分別列出校友的數目和組織晚宴的場數( 1 <= N <= 100,1 <= D <= 500)。校友編號從 1 到 N 。後面的 D 行每行表示一場晚宴的參加情況,列出 N 個整數 Xi = 1 ,否則 Xi = 0 。用 N = D = 0 作為輸入結束。
輸出:對於輸入中的每個測試用例,程式產生一行,如果至少有一個女校友/男校友參加了所有的晚宴,則輸出”yes”,否則輸出”no”。
import java.util.Arrays; import java.util.Scanner; public class PascalLibrary { public static void main(String[] args) { while (true) { int x, y; Scanner scanIn = new Scanner(System.in); x = scanIn.nextInt(); y = scanIn.nextInt(); if (x == 0 && y == 0) break; boolean att[] = new boolean[x]; Arrays.fill(att, Boolean.TRUE); for (int i = 1; i <= y; i++) { scanIn = new Scanner(System.in); for (int j = 0; j < x; j++) { if (scanIn.nextInt() == 0) { att[j] = false; } } } boolean yes = false; for(boolean value: att) { if(value) { //如有校友全部晚宴都有出席,則將旗標設為true yes = true; break; } } if(yes) System.out.println("yes"); else System.out.println("no"); } } }
鏈結到這頁!