UVaOJ10344 - 23 out of 5
来源:互联网 发布:淘宝上很便宜的化妆品 编辑:程序博客网 时间:2024/05/22 17:05
10344 - 23 out of 5
Time limit: 3.000 secondsYour 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".
Simple Input
1 1 1 1 1
1 2 3 4 5
2 3 5 7 11
0 0 0 0 0
Simple Output
Impossible
Possible
Possible
Thomas Strohmann
#include <iostream>#include <cstring>#include <cstdio>using namespace std;long a[6], t[6];bool vis[6], can;void dfs2(int depth, long nowsum) { if (can) return; if (depth > 5) { if (nowsum == 23) { can = true; } return; } dfs2(depth + 1, nowsum + t[depth]); dfs2(depth + 1, nowsum - t[depth]); dfs2(depth + 1, nowsum * t[depth]);}void dfs1(int depth) { if (can) return; if (depth > 5) { dfs2(2, t[1]); return; } for (int i = 1; i <= 5; i ++) { if (!vis[i]) { vis[i] = true; t[depth] = a[i]; dfs1(depth + 1); vis[i] = false; } }}int main() { while (scanf("%ld%ld%ld%ld%ld", &a[1], &a[2], &a[3], &a[4], &a[5]) == 5) { long sum = 0; for (int i = 1; i <= 5; i ++) { sum += a[i]; } if (sum == 0) { break; } memset(t, 0, sizeof(t)); memset(vis, false, sizeof(vis)); can = false; dfs1(1); if (can) { printf("Possible\n"); } else { printf("Impossible\n"); } } return 0;}
- UVaOJ10344 - 23 out of 5
- 23 Out of 5
- 10344--23 out of 5
- 10344 - 23 out of 5(***)
- 10344 - 23 out of 5
- uva10344 - 23 out of 5
- uva10344 - 23 out of 5
- 10344 - 23 out of 5
- UVA 23 out of 5
- uva10344 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
- uva 10344 23 out of 5(DFS)
- 彻底卸载php5
- S3C2440 linux2.6.32.2 tslib1.4 移植
- ZZ的计算器
- UVaOJ301 - Transportation
- PHP 导出Excel一点小经验 解决乱码问题
- UVaOJ10344 - 23 out of 5
- 为QT生成的应用程序加图标
- VMware下Ubuntu与宿主机简单共享文件夹
- Flex登录
- 还在为 Ubuntu 联网苦恼?
- android 4.0 WIFI工作过程(应用层)
- Objective-C JESON解析
- noxus
- UVaOJ331 - Mapping the Swaps