[回溯]23 out of 5 UVA 10344
来源:互联网 发布:windows10下安装mysql 编辑:程序博客网 时间:2024/05/18 01:20
Problem I
23 Out of 5
Input: standard input
Output: standard output
Time Limit: 1 second
Memory Limit: 32 MB
Your task is to write a program that can decide whether you can find an arithmetic expression consisting of five given numbers (1<=i<=5) that will yield the value 23.
For this problem we will only consider arithmetic expressions of the following from:
where : {1,2,3,4,5} -> {1,2,3,4,5} is a bijective function
and {+,-,*} (1<=i<=4)
Input
The Input consists of 5-Tupels of positive Integers, each between 1 and 50.
Input is terminated by a line containing five zero's. This line should not be processed.
Output
For each 5-Tupel print "Possible" (without quotes) if their exists an arithmetic expression (as described above) that yields 23. Otherwise print "Impossible".
Sample Input
1 1 1 1 1
1 2 3 4 5
2 3 5 7 11
0 0 0 0 0
Sample Output
Impossible
Possible
Possible
Thomas Strohmann
搞了半天,看错题目了,以为数字的顺序不能变。。。顺序是可以变化的。
#include<iostream>#include<cstring>using namespace std;int arry[10],vis[10];int tag,s,s1;void dfs(int pos,int s){ if(pos==5&&s==23) { tag=1; return; } for(int i=0;i<5;i++) { if(!vis[i]) { vis[i]=1; dfs(pos+1,s+arry[i]); dfs(pos+1,s-arry[i]); dfs(pos+1,s*arry[i]); vis[i]=0; } }}int main(){ while(cin>>arry[0]>>arry[1]>>arry[2]>>arry[3]>>arry[4]) { if(arry[0]==0&&arry[1]==0&&arry[2]==0&&arry[3]==0&&arry[4]==0) break; tag=0; int i,j,k; for(i=0;i<5;i++) { memset(vis,0,sizeof(vis)); vis[i]=1; dfs(1,arry[i]); } if(tag) cout<<"Possible"<<endl; else cout<<"Impossible"<<endl; } return 0;}
- [回溯]23 out of 5 UVA 10344
- 23 Out of 5 uva+回溯
- UVa 10344 - 23 out of 5 全排列递归回溯
- UVA 10344 - 23 Out of 5(回溯)
- UVa 10344 23 out of 5 (全排列枚举&回溯)
- UVa 10344 - 23 out of 5 递归回溯
- UVA - 10344 23 out of 5(回溯+全排列)
- UVA 20344 23 out of 5(回溯+全排列)
- UVA 23 Out of 5(DFS+回溯)
- UVA 10344 - 23 out of 5 全排列,3进制表示状态,回溯
- Uva 10344 23 out of 5
- uva 10344 - 23 out of 5
- uva 10344 - 23 out of 5
- uva-10344 - 23 out of 5
- UVa 10344 - 23 out of 5
- uva 10344 - 23 out of 5
- UVa 10344 23 out of 5
- uva 10344 23 out of 5(DFS)
- nyoj-79-拦截导弹
- 关于日期2013-05-25T19:09:18.769+0800格式化
- 【黑马程序员】 java笔记——抽象类
- RGB图像灰度化
- 【ASP.Net MVC3 】使用Moq让单元测试变得更简单
- [回溯]23 out of 5 UVA 10344
- Java中的OutOfMemoryError和JVM内存结构
- How to override compareTo method in Java - Example Tutorial
- neo4j使用指南
- [转载]图像处理与计算机视觉:基础,经典以及最近发展
- JUC.Condition学习笔记
- 谈谈A/B Test
- How to use Comparator and Comparable in Java? With example
- Silverlight:xap包(或本地缓存)下载版本更新的解决思路