POJ2718【DFS】

题意:
给你0到9之间的数,然后让你搞成两个数,求一个最小差异值(被组合的数不允许出现前导0)
思路:最小差异那么肯定是有一个整数长n/2,另一个长n-n/2,搜一下就好了。

code:

#include<cstdio>
#include<string.h>
#include<iostream>
#include<algorithm>
using namespace std;next_permutation(first,end);
按照字典序列,搞出比他下面的那些排列/*
int main()
{int a[3];for(int i=0;i<3;i++)cin>>a[i];while(next_permutation(a,a+3)){for(int i=0;i<3;i++){printf("%d",a[i]);}puts("");}
}
*/#define INF 0X3f3f3f3f
int a[15];
bool vis[15];
int b[15];
int n;
int ans;
char s[1010];//另一半直接搞全排列,然后直接判断取小就行了
void solve(int aa)
{int len=0;int bb;for(int i=0; i<n; i++){if(!vis[i]){b[len++]=a[i];}}bb=0;for(int i=0; i<len; i++)bb=bb*10+b[i];sort(b,b+len);if(len==1||b[0]!=0)ans=min(abs(bb-aa),ans);while(next_permutation(b,b+len)){bb=0;for(int i=0; i<len; i++)bb=bb*10+b[i];if(len==1||b[0]!=0)ans=min(abs(bb-aa),ans);}
}//先搜出一个数;
void DFS(int k,int res)
{if(k==n/2){solve(res);return;}for(int i=0; i<n; i++){if(!vis[i]){if(a[i]==0&&k==0&&n>3)continue;vis[i]=1;DFS(k+1,res*10+a[i]);vis[i]=0;}}
}
//两个输入方式
void made1()
{gets(s);n=0;int len=strlen(s);for(int i=0; i<len; i++){if(s[i]==' ')continue;else{a[n++]=s[i]-'0';//printf("%d ",a[n-1]);}}
}
void made2()
{n=0;char ch;while((ch=getchar())!='\n'){if(ch==' ')continue;a[n++]=ch-'0';}
}int main()
{int T;scanf("%d",&T);getchar();while(T--){//made1();made2();memset(vis,0,sizeof(vis));ans=INF;DFS(0,0);printf("%d\n",ans);}return 0;
}

转载于:https://www.cnblogs.com/keyboarder-zsq/p/5934504.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

详解Python操作Excel文件

前言 本篇文章主要总结了一下利用python操作Excel文件的第三方库和方法。 常见库简介 1.xlrd xlrd是一个从Excel文件读取数据和格式化信息的库&#xff0c;支持.xls以及.xlsx文件。 地址&#xff1a;http://xlrd.readthedocs.io/en/latest/ xlrd支持.xls&#xff0c;.xlsx文…

linux启动php服务_群晖docker 实现nodejs为后端的简单web服务器 并连接数据库

前情摘要&#xff1a;虽然群晖有web station 作为开发简单网页的服务器首选&#xff0c;但是web station 里面最好用的技术栈还是基于LNMP或者LAMP的php开发环境。对于学习nodejs的同学可能丈二和尚&#xff0c;摸不着头脑&#xff0c;到底如何在web station上运行nodejs&#…

5G时代,工业互联网安全挑战远超消费互联网

来源&#xff1a;工业4俱乐部导读新兴技术带来的机遇同时也面临着挑战。国家互联网应急中心近日发布的《2019 年上半年我国互联网网络安全态势》显示&#xff0c;在工业互联网安全方面&#xff0c;累计监测发现我国境内暴露的联网工业设备数量共计6814个。在上海电气集团的风电…

Ubuntu16.04系统run方式安装nvidia显卡驱动

安装完Ubuntu后系统的字体很大&#xff0c;这是由于显卡驱动造成的 避免sudo apt-get install nvidia-*安装方式造成登录界面循环。 1. ubuntu 16.04默认安装了第三方开源的驱动程序nouveau&#xff0c;安装nvidia显卡驱动首先需要禁用nouveau&#xff0c;不然会碰到冲突的问题…

买书问题

题目&#xff1a;在节假日的时候&#xff0c;书店一般都会做促销活动。由于《哈利波特》系列相当畅销&#xff0c;店长决定通过促销活动来回馈读者。在销售《哈利波特》平装本系列中&#xff0c;一共有五卷&#xff0c;用编号0&#xff0c;1&#xff0c;2&#xff0c;3&#xf…

excel二极管伏安特性曲线_【刘敏蔷老师】半导体二极管的原理及应用

半导体二极管18101113 李莹半导体二极管是十分常见的一种电子器件。像手机屏幕、霓虹灯、收音机等生活常见的器件中都会用到半导体二极管。今天就给大家简单介绍一下半导体二极管的工作原理以及它的应用。No.1什么是二极管&#xff1f;二极管&#xff0c;简单明了的说就是一种只…

SPSS入门学习

文章目录一、初识——初步上手操作安装软件1、了解.sav——数据文件扩展名2、打开SPSS开始上手进行一些简单操作2.1 导入一个系统自带的数据(1.数据编辑窗口&#xff08;SPSS Data Aditor&#xff09;(2.结果输出窗口&#xff08;SPSS Viewer&#xff09;(3.程序语句窗口&#…

PPT讲解机器人产业发展现状与未来展望,重磅资料

来源&#xff1a;直观学机械法律顾问&#xff1a;赵建英律师前段时间咱们分享过王喜文博士做的关于《5G》的PPT&#xff0c;大家反映做的很棒&#xff0c;最近王喜文博士在机械工业出版社又出了一本新书&#xff1a;智能&#xff1a;《新一代人工智能发展规划》解读&#xff0c…

MATLAB数据类型结构

原 MATLAB数据类型 2017年07月14日 07:53:55 Phil__ming 阅读数 2345更多 分类专栏&#xff1a; MATLAB学习 版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 本文链接&#xff1a;https://blog…

Ubuntu设置鼠标灵敏度

Ubuntu中鼠标的使用经常飘&#xff0c;可以设置鼠标的灵敏度 打开终端&#xff0c;输入以下代码&#xff0c;来查找自己鼠标的设备号。 xinput --list 我的鼠标的设备名是 "Logitech G300s Optical Gaming Mouse" 找到鼠标设备对应的ID号&#xff0c;比如我的是11…

Python eclipse开发环境搭建

http://jingyan.baidu.com/article/cd4c2979101f02756f6e6064.html http://jingyan.baidu.com/article/1876c8529e8de0890b1376a9.html http://www.cnblogs.com/Bonker/p/3584707.html http://www.cnblogs.com/Bonker/p/3584707.html 安装之后在eclipse 找不到pydev的 一般可能…

vue function (i)第一次点击不执行_vue下$nextTick及原理浅析

vue->$nextTick引用官方的话:为了在数据变化之后等待 Vue 完成更新 DOM &#xff0c;可以在数据变化之后立即使用 Vue.nextTick(callback)ex1<div><button click"add">add</button><div ref"tagName">{{name}}</div> <…

全球工业互联网十大最具成长性技术

来源&#xff1a;经济参考报为准确把握全球工业互联网战略方向&#xff0c;及时跟踪工业互联网创新动态及特征态势&#xff0c;前瞻研判工业互联网产业化重大布局&#xff0c;中国工业互联网研究院任近来调研走访了一批在工业互联网相关技术及产业方面具备领先水平和特色的骨干…

团队二阶段冲刺个人工作总结2

昨天干了什么&#xff1a;重新规划我们的程序&#xff0c;对一些功能进行取舍 今天准备干什么&#xff1a;对计算卡路里功能进行改进&#xff0c;对已经删除的功能对应的代码进行清除 遇到困难没有&#xff1b;暂无转载于:https://www.cnblogs.com/zzcs/p/5609177.html

python简单选择排序_python 选择排序

原博文 2018-09-21 23:46 − def select_sort(slist): for i in range(len(slist)): x i for j in range(i, len(slist)): if slist[j] < slist[x]: x j... 相关推荐 2019-12-06 14:02 − 学习提纲 生成指定范围的数值列表&#xff0c;语法格式如下&#xff1a; 生成一个包…

Matlab数据类型及预定义

Matlab数据类型 最新的版本会包括更多的类型。 因为Matlab是面向matrix的编程语言&#xff0c;所以&#xff0c;Matlab将任何一个变量都看作一个matrix。如果是一个数 就是1x1的矩阵。 matlab不需要预定义变量&#xff0c;但是 预定义变量可以使循环程序执行更快。 全局变量…

Nature解析中国AI现状,2030年能引领全球吗?

来源&#xff1a;机器之心《Nature》近日的一篇分析文章表示&#xff0c;中国的人工智能研究在质量上进步很快&#xff0c;但是在高影响的论文、人才和伦理上面还需要追赶美国。中国巨大的人口总量帮助人脸检测技术快速进步。中国不仅仅是世界上人口最多的国家&#xff0c;看起…

ubuntu命令模式中文乱码

ubuntu在命令行模式(ctrlaltf1)中文乱码&#xff0c;显示为一个个小方块 解决方法: 终端或者命令行里输入 sudo apt-get install zhcon 打开命令行窗口(ctrlaltf1)&#xff0c;输入: zhcon --utf8 --drvvga 但我输入之后显示报错&#xff0c;提示&#xff1a; “ERROR:z…

变量的存储类型(storage class)

变量的存储类型(storage class) 对于变量的存储类型&#xff0c;前面遇到过一些疑惑&#xff0c;再简单的在这里说一下。存储类型是指存储变量值的内存类型&#xff0c;它用来决定存储空间的大小。变量的存储类型决定着变量的存储器和作用域。有三个地方可以用于存储变量&#…

matlab绘图点、线条相关

各种颜色属性选项 选 项 意 义 选 项 意 义 ‘r’ 红色 ‘m’ 粉红 ‘g’ 绿色 ‘c’ 青色 32 ‘b’ 兰色 ‘w’ 白色 ‘y’ 黄色 ‘k’ 黑色 各种线型属性选项 选 项 意 义 选 项 意 义 ‘-’ 实线 ‘–’ 虚线 ‘:’ 点线 ‘-.’ 点划线 各种标记点属性选项 选 项 意 义 选 项…