PAT 1068. Find More Coins
来源:互联网 发布:2016欧洲杯网络直播权 编辑:程序博客网 时间:2024/05/21 07:00
一看到“M(<=102, the amount of money Eva has to pay)”就两眼冒绿光了有没有啊,空间时间复杂度都大大缩小了。本来有点想背包,一看输出还要求output the smallest sequence,就干脆深搜了。深搜层数不会超过100层,时间复杂度……时间复杂度我算不出来,哪个大大能告诉我的话感激不尽。这样一想都点挂汗啊,说不定测试数据凶一点我就过不掉了。
#include<cstdio>#include<iostream>using namespace std;int coin[105]={0};int target;struct road{int r[105],step,sum;road(){step=sum=0;}void oupu(){for(int i=0;i<step;i++)if(i<step-1)printf("%d ",r[i]);elseprintf("%d\n",r[i]);}void add(int x){r[step++]=x;sum+=x;}void dele(){if(step<=0)return;step--;sum-=r[step];}};bool func(struct road ro){if(ro.sum>target)return false;if(ro.sum==target){ro.oupu();return true;}int i;for(i=0;i<=target;i++){if(coin[i]>0){coin[i]--;ro.add(i);if(func(ro))return true;ro.dele();coin[i]++;}}return false;}int main(){int n,v;scanf("%d%d",&n,&target);while(n--){scanf("%d",&v);if(v<=target)coin[v]++;}road ro;if(!func(ro))printf("No Solution\n");return 0;}
0 0
- PAT 1068. Find More Coins
- PAT 1068. Find More Coins
- 【PAT】1068. Find More Coins
- PAT--1068. Find More Coins
- PAT 1068. Find More Coins
- PAT A 1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- PAT 1068. Find More Coins (30)
- 【PAT】1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- PAT(A) - 1068. Find More Coins (30)
- PAT甲级1068. Find More Coins (30)
- pat 1068. Find More Coins (30)
- 【PAT甲级】1068. Find More Coins (30)
- PAT-A-1068. Find More Coins (30)
- PAT 甲级 1068. Find More Coins (30)
- PAT 1068 Find More Coins
- 1068. Find More Coins
- 物理引擎比较:Box2D 对比 Chipmunk
- HDOJ 题目3951Coin Game(博弈)
- ubuntu常用命令及技巧
- 阿里巴巴校招2015——研发在线笔试 20140829
- 修改注册表实现未签名ActiveX控件自动安装
- PAT 1068. Find More Coins
- 1011 - Marriage Ceremonies[状态压缩dp]
- mini2440裸机试炼之——整合
- TQ2440上LED灯闪烁效果的驱动程序实现
- 左值与右值 http://blog.csdn.net/csdnji/article/details/169200
- Qtopia2.2.0 下的应用程序
- jqGrid分页
- 然之协同系统迁移到SAE平台-细节排查
- 大型网站架构和优化策略和常见处理方案实例