游游的选数乘积

简介: 游游的选数乘积

题目描述

游游拿到了一个数组,她准备在其中选择两个数,使得乘积的末尾至少有x个0。游游想知道,至少有多少种不同的取数方法?

输入描述:第一行输入两个正整数n和x,代表数组的大小以及乘积末尾0的数量。第二行输入n个正整数ai,代表游游拿到的数组。1≤n,x≤10^5,1≤ai≤10^9

输出描述:输出一个整数,代表游游选择的方案数。

#include <iostream>
#include <vector>
using namespace std;
const int MAX_R = 40, MAX_C =20;
int main() {
    vector<vector<int>> cnt(MAX_R, vector<int>(MAX_C));
    int n, x;
    cin >> n >> x;
    for (int i = 0; i < n; ++i) {
        int ai;
        cin >> ai;
        int p2 = 0, p5 = 0;
        while (ai % 2 == 0) {
            p2++, ai /= 2;
        }
        while (ai % 5 == 0) {
            p5++, ai /= 5;
        }
        cnt[p2][p5]++;
    }
    long long ans = 0;
    for (int i = 0; i < MAX_R; ++i) {
        for (int j = 0; j < MAX_C; ++j) {
            for (int i2 = max(0, x - i); i2 < MAX_R; ++i2) {
                for (int j2 = max(0, x - j); j2 < MAX_C; ++j2) {
                    ans += (i == i2 && j == j2 ? cnt[i][j] * (cnt[i][j] - 1LL) : cnt[i][j] * cnt[i2][j2]);
                }
            }
        }
    }
    cout << ans / 2 << endl;
    return 0;
}


目录
相关文章
|
机器学习/深度学习 人工智能 算法
【PyTorch深度强化学习】TD3算法(双延迟-确定策略梯度算法)的讲解及实战(超详细 附源码)
【PyTorch深度强化学习】TD3算法(双延迟-确定策略梯度算法)的讲解及实战(超详细 附源码)
3103 1
|
6月前
|
Ubuntu NoSQL 编译器
在Ubuntu 20.04上构建RISC-V和QEMU环境
以上的步骤只是开始,RISC-V的世界里有无数的未知等待你去探索。加油,勇敢的探险家。
411 18
|
人工智能 算法 Python
【随手记】python的heapq库的基本用法
【随手记】python的heapq库的基本用法
390 1
SecureCRT 通过xftp命令行上传文件到服务器上
SecureCRT 通过xftp命令行上传文件到服务器上
637 1
|
Linux Docker 容器
ip addr命令解析
ip addr命令解析
1655 1
|
C++
[C++] 提取字符串中的所有数字并组成一个数
[C++] 提取字符串中的所有数字并组成一个数
332 0
|
机器学习/深度学习 存储 算法
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
本文介绍了一种名为"Synaptic Intelligence"(SI)的持续学习方法,通过模拟生物神经网络的智能突触机制,解决了人工神经网络在学习新任务时的灾难性遗忘问题,并保持了计算效率。
773 1
【博士每天一篇论文-算法】Continual Learning Through Synaptic Intelligence,SI算法
|
存储 关系型数据库 MySQL
MySQL多表查询之外连接详解
在MySQL数据库中,多表查询是一种常见且强大的功能,允许您在多个表之间执行联接操作,从而检索、过滤和组合数据。在本篇博客中,我们将深入探讨多表查询的一种类型,即外连接(Outer Join),并详细介绍其语法、用途和示例。无论您是刚开始学习数据库还是想深入了解MySQL的查询功能,本文都将为您提供有价值的信息。
1212 0
|
并行计算 监控 前端开发
函数计算操作报错合集之如何解决报错:RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cpu and cuda:0!
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
1138 2
Clion CMake C/C++程序输出乱码
Clion CMake C/C++程序输出乱码
380 0