題目 1451:
藍(lán)橋杯歷屆試題-約數(shù)倍數(shù)選卡片
時(shí)間限制: 2s
內(nèi)存限制: 192MB 提交: 997 解決: 102
題目描述
閑暇時(shí),福爾摩斯和華生玩一個(gè)游戲:
在N張卡片上寫有N個(gè)整數(shù)。兩人輪流拿走一張卡片。要求下一個(gè)人拿的數(shù)字一定是前一個(gè)人拿的數(shù)字的約數(shù)或倍數(shù)。例如,某次福爾摩斯拿走的卡片上寫著數(shù)字“6”,則接下來華生可以拿的數(shù)字包括:
1,2,3, 6,12,18,24 ....
當(dāng)輪到某一方拿卡片時(shí),沒有滿足要求的卡片可選,則該方為輸方。
請(qǐng)你利用計(jì)算機(jī)的優(yōu)勢(shì)計(jì)算一下,在已知所有卡片上的數(shù)字和可選哪些數(shù)字的條件下,怎樣選擇才能保證必勝!
當(dāng)選多個(gè)數(shù)字都可以必勝時(shí),輸出其中最小的數(shù)字。如果無論如何都會(huì)輸,則輸出-1。
輸入格式
輸入數(shù)據(jù)為2行。第一行是若干空格分開的整數(shù)(每個(gè)整數(shù)介于1~100間),表示當(dāng)前剩余的所有卡片。
第二行也是若干空格分開的整數(shù),表示可以選的數(shù)字。當(dāng)然,第二行的數(shù)字必須完全包含在第一行的數(shù)字中。
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里了解課程詳情
標(biāo)簽