題目: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");
}
}
}
鏈結到這頁!