有人邀請a,b,c,d,e,f 6個人參加一項會議,這6個人有些奇怪,因為他們有很多要求,已知:
1)a,b兩人至少有1人參加會議;
2)a,e,f 3人中有2人參加會議;
3)b和c兩人一致決定,要麼兩人都去,要麼兩人都不去;
4)a,d兩人中只1人參加會議;
5)c,d兩人中也只要1人參加會議;
6)如果d不去,那麼e也決定不去。
那麼最後究竟有哪幾個人參加了會議呢?
方法一:暴力列舉
package string;
public class meeting_1 }}
}}}}
} private static boolean tem6(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
} return false;
} private static boolean tem5(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
} private static boolean tem4(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
} private static boolean tem3(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
} private static boolean tem2(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
} private static boolean tem1(int a1, int a2, int a3, int a4, int a5, int a6)
return false;
}}
測試結果:
a1 1
a2 1
a3 1
a4 0
a5 0
a6 1
方法二:衛條件
package string;
public class meting_2 }}
}}
}} }
private static boolean teml(int a1, int a2, int a3, int a4, int a5, int a6)
//條件2
if (a1 + a5 + a6 != 2)
// 條件3
if (a2 + a3 == 1)
//條件4
if (a1 + a4 != 1)
//條件5
if (a3 + a4 != 1)
//條件6
if (a4 == 0)
} return true;
}}
測試結果:
a1 1
a2 1
a3 1
a4 0
a5 0
a6 1
兩種方法的對比,很明顯衛條件非常好用!!!效率也高... java 條件佇列
條件佇列讓一組執行緒 稱作等待集 以某種方式等待相關條件變成真,它也由此得名。不同於傳統的佇列,它們的元素是資料項 條件佇列的元素是等待相關條件的執行緒。threadsafe public classboundedbufferextendsbaseboundedbuffer public synch...
java 形參 實參
實參 直接值傳遞 string 八大基礎資料型別 形參是定義方法的時候,該方法所攜帶的引數,不如說現在有乙個方法 public void printinfo string info 此處info就是乙個形參,它是string型別的。實參是你在呼叫方法的時候,給這個方法傳遞的引數值,比如說有這麼乙個語...
java形參實參
摘自 一 基本資料型別 傳值,方法不會改變實參的值。如int,string 二 物件型別引數 傳引用,方法體內改變形參引用,不會改變實參的引用 但有可能改變實參物件的屬性值 string陣列 1 方法體內改變形參引用,但不會改變實參引用 實參值不變。2 方法體內,通過引用改變了實際引數物件的內容,注...