POJ 2718 Smallest Difference(dfs 全排列)
来源:互联网 发布:阿里云ip地址 编辑:程序博客网 时间:2024/04/29 14:32
http://poj.org/problem?id=2718
这道题就把所有给出的数全排列,然后把数字划分为数量靠近的两堆,数量要么都一样,要么后面一堆比前面一堆少一个,然后两堆中的数字按照顺序组成数,绝对值不断更新最小值。要让difference最小,那么一定是数字划分成两堆的时候数量也要靠近。这样划分方法加上全排列,可以确保把所有的情况都考虑进去了。注意0不能为数字之首,但是要特判一下只有两个数的情况。
STL中有全排列函数可以方便地适用,格式参照程序。加上头文件#include<algorithm>
读入的时候也要注意。
#include<cstdio>#include<cstring>#include<string>#include<algorithm>#include<cmath>#include<cstdlib>#define N 20#define INF 0x3f3f3f3fusing namespace std;int a[N];int num(int x, int y){ int s = 0; for (int i = x; i < y; i++) s = s * 10 + a[i]; return s;}int main(){ int n, cnt, min_m, m, k; char ch; scanf("%d", &n); getchar(); while (n--) { min_m = INF; cnt = 0; while ((ch = getchar()) != '\n') { if (ch == ' ') continue; a[cnt++] = ch - '0'; } if (cnt == 2) { min_m = abs(a[0] - a[1]); printf("%d\n", min_m); continue; } k = cnt/2; do { if (a[0] == 0 || a[k] == 0) continue; min_m = min(min_m, abs(num(0, k) - num(k, cnt))); }while(next_permutation(a, a+cnt)); printf("%d\n", min_m); } return 0;}
0 0
- POJ 2718 Smallest Difference(dfs 全排列)
- POJ 2718 Smallest Difference(DFS+全排列函数)
- poj 2718 Smallest Difference 【dfs(全排列变形题)】
- POJ 2718 Smallest Difference (dfs)
- POJ 2718 Smallest Difference (dfs)
- POJ 2718Smallest Difference(DFS)
- POJ NO.2718 Smallest Difference(DFS)
- POJ 2718 - Smallest Difference(双DFS)
- POJ 2718:Smallest Difference(dfs)
- poj-2718-Smallest Difference(dfs)
- POJ 2718 Smallest Difference(暴力,全排列,next_permutation)
- Smallest Difference(poj 2718)二进制枚举+全排列
- poj 2718 Smallest Difference 穷竭搜索之全排列
- Poj 2718 Smallest Difference【dfs】
- Smallest Difference (全排列 + 暴力?)
- POJ 2718 Smallest Difference(DFS或者贪心)
- POJ-2718 smallest difference (DFS 随机数 剪枝)
- POJ 2718 Smallest Difference 【DFS 穷竭搜索】
- java IO类
- cocos2dx3.x+cocostudio多屏幕分辨率适配解决方案(干货)
- 数据结构-顺序栈
- [数据结构]Stack_Calculator(中序波兰式转后序波兰式)
- android studio 用 Javacv 读取视频流
- POJ 2718 Smallest Difference(dfs 全排列)
- 从零学习算法竞赛1: 变量交换
- 一个demo学习完RelativeLayout
- Kmp!!!
- centos安装pip
- Google Test(GTest)使用方法和源码解析——结果统计机制分析
- [数据结构]N-Queens Problem(recursion)
- 数据结构-链栈
- uboot命令分析+实现