1450 問題 H: 藍(lán)橋杯2014年第五屆真題-矩陣翻硬幣
時間限制: 1s
內(nèi)存限制: 128MB 提交: 1323 解決: 200
題目描述
小明先把硬幣擺成了一個 n 行 m 列的矩陣。
隨后,小明對每一個硬幣分別進(jìn)行一次 Q 操作。
對第x行第y列的硬幣進(jìn)行 Q 操作的定義:將所有第 i*x 行,第 j*y 列的硬幣進(jìn)行翻轉(zhuǎn)。
其中i和j為任意使操作可行的正整數(shù),行號和列號都是從1開始。
當(dāng)小明對所有硬幣都進(jìn)行了一次 Q 操作后,他發(fā)現(xiàn)了一個奇跡——所有硬幣均為正面朝上。
小明想知道最開始有多少枚硬幣是反面朝上的。于是,他向他的好朋友小M尋求幫助。
聰明的小M告訴小明,只需要對所有硬幣再進(jìn)行一次Q操作,即可恢復(fù)到最開始的狀態(tài)。然而小明很懶,不愿意照做。于是小明希望你給出他更好的方法。幫他計算出答案。
輸入
輸入數(shù)據(jù)包含一行,兩個正整數(shù) n m,含義見題目描述。
數(shù)據(jù)規(guī)模和約定
對于100%的數(shù)據(jù),n、m < = 10^1000(10的1000次方)。
輸出
輸出一個正整數(shù),表示最開始有多少枚硬幣是反面朝上的。
提示
零基礎(chǔ)同學(xué)可以先學(xué)習(xí)
視頻課程,包含C/C++、Python、百練、藍(lán)橋杯輔導(dǎo)、算法數(shù)據(jù)結(jié)構(gòu)等課程,提供視頻講解以及配套習(xí)題,還有老師答疑,
點(diǎn)擊這里了解課程詳情