三對情侶參加婚禮,三個新郞為a、b、c,三個新娘為x、y、z。有人不知道誰和誰結婚,於是詢問了六位新人中的三位,但聽到的回答是這樣的:a說他將和x結婚;x說她的未婚夫是c;c說他將和z結婚。這人聽後知道他們在開玩笑,全是假話。請程式設計找出誰將和誰結婚。
*問題分析與演算法設計
將a、b、c三人用1,2,3表示,將x和a結婚表示為「x=1」,將y不與a結婚表示為「y!=1」。按照題目中的敘述可以寫出表示式:
x!=1 a不與x結婚
x!=3 x的未婚夫不是c
z!=3 c不與z結婚
題意還隱含著x、y、z三個新娘不能結為配偶,則有:
x!=y且x!=z且y!=z
窮舉以上所有可能的情況,代入上述表示式中進行推理運算,若假設的情況使上述表示式的結果均為真,則假設情況就是正確的結果。
*程式說明與注釋
#include
int main()
}*執行結果
x will marry to b. (x與b結婚)
y will marry to c. (y與c結婚)
z will marry to a. (z與a結婚)
新郎和新娘
3對新婚夫婦參加婚禮,3個新郎為a b c,3個新娘為x y z。有人不知道誰和誰結婚,於是詢問了6位新人中的3位,但聽到的回答是這樣的 a說他將和x結婚 x說她的未婚夫是c c說他將和z結婚。這人聽後知道他們在開玩笑,說的全是假話。請程式設計找出誰將和誰結婚.a x,c z x c,a b c x...
數學趣題 新郎和新娘
新郎a,b,c。新娘x,y,z。a說他將和x結婚,x說她將和c結婚,c說他將和z結婚。這三句全是假的。請問真正是怎麼配對 可以用窮舉法,一共3 2 1種可能方案。a,b,c位置不變,不斷調換x,y,z的位置。include 2 3 int match int i,int j,int k,char w...
新的目標和理想
我原來一直以為不斷的隱藏自己,就能夠更好的生存,在別人出奇不意的打敗別人,但是以我現在的感覺和判斷可以輕易的得出結論 這個觀點在很大程度上是錯誤的。為什麼呢?首先,在和真正的高手對決過程中,自己不可能再隱藏自己的特點資訊,對方亦能夠在短時間的交流或對決中讀取你的資訊,充分把握自己的優勢和我們的弱點,...