BC俩周年 Oracle
2016-07-18 11:35
656 查看
Oracle
问题描述曾经有一位国王,统治着一片未名之地。他膝下有三个女儿。
三个女儿中最年轻漂亮的当属Psyche。她的父亲不确定她未来的命运,于是他来到Delphi神庙求神谕。
神谕可以看作一个不含前导零的正整数 n n。
为了得到真正的预言,他可以将 n n的各个数位重新排列,并将其分成两个不含前导零的正整数。
请你帮助他求出这两个正整数最大的和。如果不存在这样的两个正整数,输出”Uncertain”.
输入描述
第一行一个整数 T T (1 \le T \le 10) (1≤T≤10),代表数据组数。
接下来 T T行,每行一个正整数 n n (1 \le n < 10 ^ {10000000})
(1≤n<10^10000000)。
输出描述
对于每组数据,输出一个整数表示最大的和。若不存在一种方案,输出”Uncertain”.
输入样例
3
112
233
1
输出样例
22
35
Uncertain
Hint
对于第一组数据,最优方案是将 112 112分成 21 21和 1 1,最大的和为 21 + 1 = 22 21+1=22。
对于第二组数据,最优方案是将 233 233分成 2 2和 33 33,最大的和为 2 + 33 = 35 2+33=35。
对于第三组数据,显然无法将一个数位分成两部分。
建议使用效率较高的读入方式。
这题开了4s,我给定位就是模拟题,这题有些小陷阱,注意下就OK了。
有两种思路,官方都有,我就不解释了,直接代码。
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; #define ll long long ll n,m; const int maxn=1e7+100; char a[maxn]; int t; int main(){ int T; char temp; scanf("%d",&T); while(T--){ t=0; scanf("%s",a); t=strlen(a); if(t<=1){ printf("Uncertain\n"); continue; }else{ sort(a,a+t); if(a[t-2]=='0'){ printf("Uncertain\n"); continue; } if(a[0]=='0'){ for(int i=0;i<t;i++){ if(a[i]!='0'){ temp=a[i]; a[i]=a[0]; a[0]=temp; break; } } for(int i=t-1;i>=0;i--){ if(i==1)continue; printf("%c",a[i]); }printf("\n"); continue; } if(a[0]!='0'){ a[1]=(a[0]-'0'+a[1]-'0')+'0'; if((a[1]-'0')>=10){ for(int i=1;i<t;i++){ if((a[i]-'0')>=10){ a[i+1]=(a[i+1]-'0'+1)+'0'; a[i]=(a[i]-'0'-10)+'0'; a11b }else break; } if(a[t-1]=='0')printf("1"); for(int i=t-1;i>=1;i--){ printf("%d",a[i]-'0'); }printf("\n"); continue; }else{ for(int i=t-1;i>=1;i--){ printf("%c",a[i]); }printf("\n"); continue; } } } } return 0; }
相关文章推荐
- oracle中事务与sequence获取最新主键,批量insert冲突
- Hdu 5718 Oracle【贪心】
- 【转-整理】win764bit plsql 登录oracle11g ora-12154 问题汇总
- MyBatis小demo
- BestCoder 2nd Anniversary--1001Oracle
- rhel6.* 上安装oracle 11.2.0.1
- Oracle 外连接
- mybatis执行批量更新batch update 的方法(oracle,mysql)
- Oracle 违反协议 OALL8 处于不一致状态
- 11gr2 grid安装的时候,ASM磁盘status为Member
- oracle instr() 和substr()函数
- oracle 小问题之监听
- oracle 基础SQL语句 多表查询 子查询 分页查询 合并查询 分组查询 group by having order by
- 利用trunc函数定时刷新物化视图
- hdu-5718 Oracle(水题)
- 7-16 Bestcoder a Oracle
- 利用函数返回oracle对象表的三种方法
- oracle之order by
- python读取oracle函数返回值
- FIREDAC驱动ORACLE的配置