2015-08-30 16:16:14

传送门

总结:晚上BC、CF连着打... 酸爽- -。比赛速切了前两题,第三题搞了INF久...

  赛后把C补了一下。

 

A题:Brute force

  题意:有10^5个数,可以给每个数*2或者*3,可操作无穷次,问最后所有数是否可能相等。

  思路:显然就是看所有数除2和3之外的质因数的指数是否一致,把所有数尽量除2,除3,看所有数是否相等即可。

 

#include <cstdio>
#include <ctime>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <vector>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <string>
#include <iostream>
#include <algorithm>
using namespace std;

#define getmid(l,r) ((l) + ((r) - (l)) / 2)
#define MP(a,b) make_pair(a,b)
#define PB push_back

typedef long long ll;
typedef pair<int,int> pii;
const double eps = 1e-8;
const int INF = (1 << 30) - 1;
const int MAXN = 100010;

int n;
int A[MAXN];

int main(){
    scanf("%d",&n);
    for(int i = 1; i <= n; ++i){
        scanf("%d",&A[i]);
        while(A[i] % 2 == 0) A[i] /= 2;
        while(A[i] % 3 == 0) A[i] /= 3;
    }
    bool flag = true;
    for(int i = 1; i < n; ++i){
        if(A[i] != A[i + 1]){
            flag = false;
            break;
        }
    }
    if(flag) printf("Yes\n");
    else printf("No\n");
    return 0;
}
View Code

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-02-12
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2022-03-08
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案