阶乘之和【DFS】【贪心】
来源:互联网 发布:淘宝单坑产出什么意思 编辑:程序博客网 时间:2024/06/05 08:24
阶乘之和
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
给你一个非负数整数n,判断n是不是一些数(这些数不允许重复使用,且为正数)的阶乘之和,如9=1!+2!+3!,如果是,则输出Yes,否则输出No;
- 输入
- 第一行有一个整数0<m<100,表示有m组测试数据;
每组测试数据有一个正整数n<1000000; - 输出
- 如果符合条件,输出Yes,否则输出No;
- 样例输入
2910
- 样例输出
YesNo
代码
DFS
#include<stdio.h>
02.
#include<string.h>
03.
#include<algorithm>
04.
#include<queue>
05.
#include<stack>
06.
#include<math.h>
07.
#include<vector>
08.
#define inf 0x3f3f3f
09.
#define PI acos(-1);
10.
#define LL long long
11.
#define M 11
12.
#define mod 1000000
13.
using
namespace
std;
14.
int
num[M]={0};
15.
int
n;
16.
17.
int
flage;
18.
void
dfs(
int
j,
int
sum)
19.
{
20.
if
(sum==n)
21.
{
22.
flage=1;
23.
return
;
24.
}
25.
for
(
int
i=j+1;sum<n&&i<M;i++)
26.
{
27.
dfs(i,sum+num[i]);
28.
}
29.
}
30.
int
main()
31.
{
32.
int
t;
33.
scanf
(
"%d"
,&t);
34.
int
s=1;
35.
for
(
int
i=1;i<M;i++)
36.
{
37.
s=s*i;
38.
num[i]=s;
39.
40.
}
41.
while
(t--)
42.
{
43.
scanf
(
"%d"
,&n);
44.
flage=0;
45.
dfs(0,0);
46.
if
(flage)
printf
(
"Yes\n"
);
47.
else
printf
(
"No\n"
);
48.
}
49.
return
0;
50.
}
贪心
#include<iostream>
02.
using
namespace
std;
03.
04.
int
main()
05.
{
06.
int
n;
07.
int
k[9]={1,2,6,24,120,720,5040,40320,362880};
08.
cin>>n;
09.
while
(n--)
10.
{
11.
bool
flag=
false
;
12.
int
m;
13.
cin>>m;
14.
for
(
int
i=8;i>=0;i--)
15.
{
16.
if
(m>=k[i] && m>0)
17.
m-=k[i];
18.
if
(m==0)
19.
flag=
true
;
20.
}
21.
if
(flag)
22.
cout<<
"Yes"
<<endl;
23.
else
24.
cout<<
"No"
<<endl;
25.
}
26.
}
0 0
- 阶乘之和【DFS】【贪心】
- 阶乘之和 【DFS】 or【 贪心】
- 阶乘之和-DFS
- 【91 阶乘之和 贪心】
- 阶乘之和(贪心)
- nyoj 阶乘之和 贪心
- 贪心阶乘之和
- 贪心算法--阶乘之和
- 阶乘之和(贪心)
- nyoj91 阶乘之和 简单DFS
- 阶乘之和(贪心算法)
- 阶乘之和——贪心
- NYOJ 91 阶乘之和 (贪心)
- nyoj 91 阶乘之和 【贪心】
- NYOJ91——阶乘之和(贪心)
- 贪心算法——阶乘之和
- NYOJ 题目91 阶乘之和(贪心)
- NYOJ 91 阶乘之和 贪心算法
- 探究碎片--简单的使用方式
- RegisterClassEx函数时的窗口类Style
- 错误:sqlalchemy.exc.IntegrityError: (pymysql.err.IntegrityError)
- 圆桌问题
- TIANKENG’s restaurant【区间覆盖】
- 阶乘之和【DFS】【贪心】
- 想法结合运用
- Python轻松入门-30 多重继承
- Java之显示需要class,ifterface或者enum
- poj 2976 Dropping tests (二分查找)
- [BZOJ3527][Zjoi2014]力(FFT)
- c++注意事项
- JS For in and For (i=0;i<length;i++) different
- BZOJ 2946 [Poi2000]公共串 后缀自动机