T1553 互斥的数 codevs
2024-09-06 02:26:14
有这样的一个集合,集合中的元素个数由给定的N决定,集合的元素为N个不同的正整数,一旦集合中的两个数x,y满足y = P*x,那么就认为x,y这两个数是互斥的,现在想知道给定的一个集合的最大子集满足两两之间不互斥。
输入描述 Input Description
输入有多组数据,每组第一行给定两个数N和P(1<=N<=10^5, 1<=P<=10^9)。接下来一行包含N个不同正整数ai(1<=ai<=10^9)。
输出描述 Output Description
输出一行表示最大的满足要求的子集的元素个数。
样例输入 Sample Input
4 2
1 2 3 4
样例输出 Sample Output
3
#include <algorithm>
#include <cstdio>
#include <map> using namespace std; map<int,bool>ma;
int n,p,a[],ans; int main()
{
scanf("%d%d",&n,&p);
for(int i=;i<=n;i++)
scanf("%d",&a[i]),ma[a[i]]=;
sort(a+,a+n+);
for(int i=;i<=n;i++)
if(!ma[a[i]])
{
ma[a[i]*p]=;
ans++;
}
printf("%d",ans);
return ;
}
最新文章
- salesforce 零基础学习(五十九)apex:param使用以及相关的疑惑
- 在ASP.NET MVC5应用程序中快速接入QQ和新浪微博OAuth
- SFTP交互式文件传输
- Android 支付宝以及微信支付快速接入流程
- Nginx反向代理 负载均衡
- 性能测试指标&;说明 [解释的灰常清楚哦!!]
- awk中文手册
- 教程-EhLib70的安装方法
- C# 两时间,时间间隔
- Activiti5.16.4数据库表结构
- 用Autohotkey让powerpoint幻灯片一直播放
- [HDU]1016 DFS入门题
- vmware虚拟机CentOS7安装oracle数据库
- Android系统之Broadcom GPS 移植
- 途牛java实习面试(失败)
- 你真的了解word-wrap和word-break的区别吗?
- 个人向 - vscode插件记录
- [iOS]深拷贝/浅拷贝区别
- 如何给USB移动硬盘格式化分区
- spring-security-4 (5)spring security Java配置实现自定义表单认证与授权