zju 1836 Number Puzzle
来源:互联网 发布:文学cms 编辑:程序博客网 时间:2024/04/29 10:29
容斥原理的应用
#include<iostream>
#include <string>
using namespace std;
int a[12];
int b[12];
int n, m;
double total;
int gcd(int x, int y)
{
return y==0?x:gcd(y,x%y);
}
int gsm(int x, int y)
{
return (x*y)/gcd(x,y);
}
void dfs(int u, int sum, int cnt, int vn)
{
int i;
if(cnt==vn)
{
total += m/sum;
return;
}
for (i=u; i<n; ++i)
{
dfs(i+1, gsm(sum,b[i]), cnt+1, vn);
}
}
int main()
{
int i, j, temp;
double ans;
while (cin >> n >> m)
{
memset(a, 0, sizeof(a));
for (i=0; i<n; ++i)
{
scanf("%d", &temp);
a[temp] = 1;
}
n = 0;
for (i=1; i<=10; ++i)
{
if(a[i] && i<=m)
b[n++] = i;
}
ans = 0;
for (i=1; i<=n; ++i)
{
total = 0;
dfs(0,1,0,i);
if(i%2!=0)
ans += total;
else
ans -= total;
}
printf("%.0lf ",ans);
}
return 0;
}
#include <string>
using namespace std;
int a[12];
int b[12];
int n, m;
double total;
int gcd(int x, int y)
{
return y==0?x:gcd(y,x%y);
}
int gsm(int x, int y)
{
return (x*y)/gcd(x,y);
}
void dfs(int u, int sum, int cnt, int vn)
{
int i;
if(cnt==vn)
{
total += m/sum;
return;
}
for (i=u; i<n; ++i)
{
dfs(i+1, gsm(sum,b[i]), cnt+1, vn);
}
}
int main()
{
int i, j, temp;
double ans;
while (cin >> n >> m)
{
memset(a, 0, sizeof(a));
for (i=0; i<n; ++i)
{
scanf("%d", &temp);
a[temp] = 1;
}
n = 0;
for (i=1; i<=10; ++i)
{
if(a[i] && i<=m)
b[n++] = i;
}
ans = 0;
for (i=1; i<=n; ++i)
{
total = 0;
dfs(0,1,0,i);
if(i%2!=0)
ans += total;
else
ans -= total;
}
printf("%.0lf ",ans);
}
return 0;
}
- zju 1836 Number Puzzle
- ZJU 1602 Multiplication Puzzle
- ZJU 3418 Binary Number
- zju 1484-Minimum Inversion Number
- zoj_2836 Number Puzzle
- ZOJ 2836 Number Puzzle
- HDU 1755 A Number Puzzle
- Hdu 1755A Number Puzzle
- HDU 1755 A Number Puzzle
- hdu 1755 A Number Puzzle
- HDU 1755 A Number Puzzle
- [全排列]--A Number Puzzle
- ZJU 3233 - Lucky Number (容斥原理)
- [容斥原理] zoj 2836 Number Puzzle
- ZOJ 2836 Number Puzzle 容斥、lcm
- ZOJ2836---Number Puzzle(容斥原理)
- HDU 1755--A Number Puzzle【next_permutation】
- ZOJ2836 Number Puzzle【容斥原理】
- 在eclipse中安装svn插件
- 免杀汇编基础-8086汇编指令
- Solaris下如何mount Dos 文件系统
- 配色方案之一(经典实用)
- 听“体育评书”
- zju 1836 Number Puzzle
- 动态封杀与解封IP
- 配色方案之二(14种经典)
- 配色方案之二(12种经典)
- Mount NTFS partition in Solaris
- 使用vb.net等待外部程序运行完毕才继续
- 一次编辑 GridView 的所有行
- 转载:“北斗一号”监控圣火境内传递!!!
- Number literal and representation