poj 2718 Smallest Difference
来源:互联网 发布:ios日本漫画软件 编辑:程序博客网 时间:2024/05/17 08:16
这题目明明很简单啊,怎么A的人这么少。
用next_permutation就可以做,很简单
WA点:
注意不能以0开头(考虑到了但是判断时候应该是==‘0'而不是==0,WA了)
还有要把freopen注释掉,别没注释就交上去了,汗
#include<algorithm>#include<iostream>#include<stdio.h>#include<stdlib.h>#include<string.h>using namespace std;char strnumtmp[51];char strnum[51];int main(){ freopen("H:\\in.txt","r",stdin); freopen("H:\\my.txt","w",stdout);int casenum;scanf("%d\n",&casenum);while(casenum--){ memset(strnum,0,sizeof(strnum));gets(strnumtmp);int pStrnum=0;for(int i=0;i<strlen(strnumtmp);i++){if(strnumtmp[i]>='0'&&strnumtmp[i]<='9'){strnum[pStrnum++]=strnumtmp[i];}}strnum[pStrnum]='\0';int minx=1<<28;int len=strlen(strnum);do { int k=len/2; int sum1=0; int sum2=0; if((strnum[0]=='0'&&k>1)||(strnum[k]=='0'&&len>=3)) continue; for(int i=0;i<k;i++) sum1=sum1*10+strnum[i]-'0'; for(int i=k;i<len;i++) sum2=sum2*10+strnum[i]-'0'; if(sum2-sum1>0&&sum2-sum1<minx) { minx=sum2-sum1; //cout<<sum2<<endl<<sum1<<endl<<"-----"<<endl; } }while(next_permutation(strnum,strnum+len)); printf("%d\n",minx);}}
0 0
- POJ 2718 Smallest Difference
- poj 2718 Smallest Difference
- POJ-2718-Smallest Difference
- poj 2718 Smallest Difference
- poj 2718 Smallest Difference
- POJ 2718-Smallest Difference
- POJ 2718 Smallest Difference
- POJ 2718 Smallest Difference
- POJ 2718 Smallest Difference
- POJ 2718 Smallest Difference
- Smallest Difference(POJ-2718)
- POJ 2718 Smallest Difference
- POJ-2718 Smallest Difference
- poj-2718 Smallest Difference
- poj 2718 Smallest Difference
- POJ--2718 Smallest Difference
- poj-2718-Smallest Difference
- POJ 2718 Smallest Difference
- 字典树(模版+源码)
- HDU - 2364 Escape
- Qt5官方Demo解析集5——Threaded Fortune Server
- ByteArrayInputStream之内存溢出(IoUtils)
- 计算机网络(5)应用层
- poj 2718 Smallest Difference
- 颠倒的价牌 - 蓝桥杯
- 服务器端配置MySQL
- 请求生命周期回调(Controllers)
- c++模板两个数的加法
- Java对象池
- 用户界面设计的七大法则:给你一个受人欢迎的界面设计
- Codeforces Round #237 (Div. 2) E. Maze 1D
- 软件公司研发职位