Codeforce 573A. Bear and Poker
Posted TOTOTOTOTZZZZZ
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforce 573A. Bear and Poker相关的知识,希望对你有一定的参考价值。
Limak is an old brown bear. He often plays poker with his friends. Today they went to a casino. There are nplayers (including Limak himself) and right now all of them have bids on the table. i-th of them has bid with size ai dollars.
Each player can double his bid any number of times and triple his bid any number of times. The casino has a great jackpot for making all bids equal. Is it possible that Limak and his friends will win a jackpot?
First line of input contains an integer n (2?≤?n?≤?105), the number of players.
The second line contains n integer numbers a1,?a2,?...,?an (1?≤?ai?≤?109) — the bids of players.
Print "Yes" (without the quotes) if players can make their bids become equal, or "No" otherwise.
将2将3除尽,剩下的数如果一致即可
#include <cstdio> #include <cctype> #include <stdlib.h> #include <iostream> #include <cmath> #include <cstring> #include <algorithm> #include <string> #include <vector> #include <map> using namespace std; typedef long long LL; int n; LL times = 0; int main() { // freopen("test.in","r",stdin); cin >> n; LL a; cin >> a; int ok = 1; while (a > 1 && a % 2 == 0){ a = a / 2; } while (a > 1 && a % 3 == 0){ a = a / 3; } times = a; for (int i=1;i<n;i++){ LL b; cin >> b; if (!ok) continue; if (b % times != 0){ ok = 0; continue; } else { b = b / times; while (b > 1 && b % 2 == 0){ b = b / 2; } while (b > 1 && b % 3 == 0){ b = b / 3; } if (b > 1){ ok = 0; continue; } } } if (ok) cout << "Yes"; else cout << "No"; return 0; }
以上是关于Codeforce 573A. Bear and Poker的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces 573B Bear and Blocks
codeforces 653B B. Bear and Compressing(dfs)
codeforce 621B Wet Shark and Bishops
codeforces 653A A. Bear and Three Balls(水题)