选择我自己的算法
来源:互联网 发布:java开源bug管理系统 编辑:程序博客网 时间:2024/05/04 22:53
终于调出来了,18ms
粘个题解>>http://codevs.cn/problem/1268/
#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using namespace std;int w,d,v,num[50],a,b = 0;bool ok = 0;void dfs(int s,int c){ if(ok) return; if(pow(b,w - c + 1) < s) return;// 最优化剪枝 if(s < 0) return;//可行性剪枝 if(c == w) {if(s == 0)ok = 1;return;}//只能使用w - 1个符号 for(int i = d;i >= 1;i --) { dfs(s - num[i],c + 1);//由于+和*不方便剪枝,采取 - 和 / 的方式 if(num[i]&&s >= num[i]&&s % num[i] == 0) dfs(s / num[i],c + 1); }}int main(){ scanf("%d%d",&w,&d); for(int i = 1;i <= d;i ++) scanf("%d",&num[i]),b = max(b,num[i]); scanf("%d",&v); for(int i = 1;i <= v;i ++) { ok = 0; scanf("%d",&a); if(pow(b,w + 1) < a);//若最大值全使用乘法也得不到解说明不可能有解 else dfs(a,-1);//使用的数字比运算个数多一个。 if(ok) puts("Y"); else puts("N"); }}
阅读全文
0 0
- 选择我自己的算法
- 选择我自己的算法
- Codevs 1268 选择我自己的算法
- 我自己实现的quickSort算法
- 我自己设计的中文分词算法
- 我自己设计的中文分词算法
- 骨子里,我选择相信自己
- 脚下的路改如何选择?我不停问自己
- 我为什么要选择做一个属于自己的网站!
- 我需要证明自己的选择(有些伤痛)
- 三年我选择了回到自己喜欢的技术工作
- 自己写的选择排序算法(源代码)
- 关于快速选择算法,自己的一点小领悟
- 自己的路,自己选择
- 写给自己的 也希望看到的各位,跟我说说,我应该怎样选择
- 自己选择的路
- 坚持自己的选择
- 记住自己的选择
- hdu6105 Gameia 2017多校第六场1010 树+博弈
- Linux DNS
- java修饰符
- HDU_1251 统计难题 【字典树||map】
- CURL常用命令
- 选择我自己的算法
- java中的基本数据类型和引用数据类型以及它们的存储方式堆内存和栈内存
- 分组背包
- zookeeper安装
- @PathVariable对于特殊字符截断问题
- 01背包问题
- 【C++】【LeetCode】136. Single Number
- hihocoder #1328 : 逃离迷宫
- 杭电acm 1877 求和+进制转换