枚举——三种解
来源:互联网 发布:张无忌武力 知乎 编辑:程序博客网 时间:2024/06/03 19:38
第一种
因为只有16种,可以快速枚举 用16个if
第二种
利用位运算 的 特殊来枚举
#include <iostream>using namespace std;int main(){ int a[6]; int n; cin >> n; while (n --){ for (int i = 1;i <= 5;i ++) cin >> a[i]; int sum; int counter = 0; for (int i = 0;i < (1<<4);i ++){ int now = i;sum = a[1]; for (int j = 2;j <= 5;j ++){ if (now % 2 == 0){ sum += a[j]; }else sum -= a[j]; now >>= 1; } if (sum == 24)counter ++; } cout << counter << endl; }}
第三种
利用背包的原理优化
#include <iostream>using namespace std;int a[7];int ans;void res(int sum,int i){ if (i == 6){ if (sum == 24) ans ++; } else { res(sum + a[i],i + 1); res(sum - a[i],i + 1); }}int main(){ int n; cin >> n; while (n --){ ans = 0; for (int i = 1;i <= 5;i ++) cin >> a[i]; res(a[i],2); cout << ans << endl; } return 0;}
阅读全文
0 0
- 枚举——三种解
- C#——枚举
- C#——枚举
- ——枚举
- 高新技术——枚举
- 枚举——POJ1753
- 枚举——POJ2965
- Java——枚举
- java高新技术—枚举
- 黑马程序员—枚举
- C#-—体验枚举
- NSFileManager—枚举目录
- C++11强类型枚举——枚举类
- 枚举进程——PspCidTable
- “黑马程序员”——枚举
- 黑马程序员——枚举
- 黑马程序员——枚举
- Enumeration 关键字 ——枚举
- HDU1232畅通工程(并查集)
- Python安装教程
- CSDN-markdown语法
- 项目日记2—服务器端环境搭建(一)
- 用原生js写淡入淡出动画
- 枚举——三种解
- 估值超10亿 同行者牵手腾讯 加速车联网布局
- storm在用命令提交任务时,在work的日志里出现 找不到类 的错误
- weblogic 扫描不到jar包的类问题解决方案
- javascript碰撞检测
- 排序算法之快速排序
- UVA557(概率)
- DIV居中
- elasticsearch-持久化存储