题意: 给一个已经排序号的数字,从中间切一刀,成两个数,要求这两个数的差最小

思路:暴力比较差最小值

  1. stl中的next_permutation()函数进行排列  注意:这个函数必须从小到大才可以排序
  2. 把所有排序写出,从中间切,前面一个数,后面一个数,找到最小

    if (a[mid])
    {
    int x = a[0]; int y = a[mid];
    for (int i = 1; i < mid; i++)
    x = x * 10 + a[i];
    for (int i = mid + 1; i < n; i++)
    y = y * 10 + a[i];
    if (ans > abs(x - y))
    ans = abs(x - y);
    }

解决问题的代码:

#include <iostream>
#include <math.h>
#include <algorithm>
#include <string.h>
#include <cstdio>
using namespace std;
int n, a[];
void solve()
{
while (a[] == ) next_permutation(a, a + n);
int ans = ;
int mid = (n + ) / ;
do {
if (a[mid])
{
int x = a[]; int y = a[mid];
for (int i = ; i < mid; i++)
x = x * + a[i];
for (int i = mid + ; i < n; i++)
y = y * + a[i];
if (ans > abs(x - y))
ans = abs(x - y);
}
} while (next_permutation(a, a + n));
printf("%d\n", ans);
return;
}
int main()
{
int t;
char c;
scanf("%d", &t);
getchar();
while (t--)
{
n = ;
memset(a, , sizeof(a));
while ((c = getchar()) != '\n')
{
if (c != ' ')
a[n++] = c - '';
}
if (n == ) printf("%d\n", a[]);
if (n == ) printf("%d\n", abs(a[] - a[]));
else solve();
}
return ;
}

poj 2718 切数问题 穷竭搜索的更多相关文章

  1. poj 3187 Backward Digit Sums(穷竭搜索dfs)

    Description FJ and his cows enjoy playing a mental game. They write down the numbers to N ( <= N ...

  2. 《挑战程序设计竞赛》2.1 穷竭搜索 POJ2718 POJ3187 POJ3050 AOJ0525

    POJ2718 Smallest Difference Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6509   Acce ...

  3. 1.初级篇——最基础的"穷竭搜索”

    A.Lake Counting(POJ 2386) 题意: 由于最近的降雨,农夫约翰田地的各个地方都有水汇聚,用N x M(1 <= N <= 100; 1 <= M <= 1 ...

  4. 穷竭搜索: POJ 2718 Smallest Difference

    题目:http://poj.org/problem?id=2718 题意: 就是输入N组数据,一组数据为,类似 [1  4  5  6  8  9]这样在0~9之间升序输入的数据,然后从这些数据中切一 ...

  5. poj 2718 Smallest Difference(穷竭搜索dfs)

    Description Given a number of distinct , the integer may not start with the digit . For example, , , ...

  6. 穷竭搜索:POJ 3187 Backward Digit Sums

    题目:http://poj.org/problem?id=3187 题意: 像这样,输入N : 表示层数,输入over表示最后一层的数字,然后这是一个杨辉三角,根据这个公式,由最后一层的数,推出第一行 ...

  7. AOJ 0525 Osenbei【穷竭搜索】

    AOJ 0525 题意: 有一个烤饼器可以烤r行c列的煎饼,煎饼可以正面朝上(用1表示)也可以背面朝上(用0表示).一次可将同一行或同一列的煎饼全部翻转.现在需要把尽可能多的煎饼翻成正面朝上,问最多能 ...

  8. 挑战程序2.1.4 穷竭搜索>>深度优先搜索

      深度优先搜索DFS,从最开始状态出发,遍历一种状态到底,再回溯搜索第二种. 题目:POJ2386  思路:(⊙v⊙)嗯  和例题同理啊,从@开始,搜索到所有可以走到的地方,把那里改为一个值(@或者 ...

  9. 挑战程序2.1.5 穷竭搜索>>宽度优先搜索

    先对比一下DFS和BFS         深度优先搜索DFS                                   宽度优先搜索BFS 明显可以看出搜索顺序不同. DFS是搜索单条路径到 ...

随机推荐

  1. [PHP] – 性能优化 – Fcgi进程及PHP解析优化

    https://www.abcdocker.com/abcdocker/808------[PHP] – 性能优化 – Fcgi进程及PHP解析优化

  2. C#中的XML文档注释-推荐的文档注释标记

    文档注释是为了方便自己和他人更好地理解代码所实现的功能.下面记录了一些常用的文档注释标记: <C> 用法: <c>text</c> 将说明中的文本标记为代码.例如: ...

  3. spring Cloud中,解决Feign/Ribbon整合Hystrix第一次请求失败的问题?

    Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间 ...

  4. (二)我的JavaScript系列:JavaScript面向对象旅程(下)

    剪不断,理还乱,是离愁. 前面已经提到过新语言开发的两个步骤,分别是:一.定义基本的数据类型,完善结构化编程语言的设计:二.为函数类型绑定this的概念,好在对象的方法中可以引用到对象自身.下面是继续 ...

  5. python3操作excel02(对excel的基础操作,进行简单的封装)3

    #!/usr/bin/env python# -*- coding:UTF-8 -*- import requestsfrom bs4 import BeautifulSoupfrom bs4 imp ...

  6. 参考消息 Android 读报

    <参考消息>是新华通讯社主办,参考消息报社编辑出版的日报,创刊于1931年,历史长达80年.<参考消息>每天及时选载世界各国(地区)通讯社.报刊及因特网上的最新消息.评论的精华 ...

  7. js进阶之function对象

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  8. SDUT 1309 不老的传说问题 (区间DP)

    题意: 有一个环形序列,n个数字表示一种颜色,要求将白板环刷成一模一样的环,限制是每次最多只能刷连续的K个位置,问最少需要刷几次? 思路: 跟2008长春那道painter string 差不多.只是 ...

  9. External Pricing in C4C and ERP

    从下图可以看出,C4C的Opportunity,Sales Quote和Sales Order这些business transaction没有自己的pricing engine,使用的是在ERP Pr ...

  10. Write Once, Run Anywhere:这不是Java,这是C#

    注意,本文目的并非挑起语言之争.虽然有为C#平反之意,但主要还是介绍Mono并进行简单的测试. UPDATED: 25th August 2012 更新了「Compile Once, Run Anyw ...