http://acm.hdu.edu.cn/showproblem.php?pid=5055

题目大意:

  给你N位数,每位数是0~9之间。你把这N位数构成一个整数。

要求:

  1、必须是奇数

  2、整数的前面没有0

  3、找到一个最大的整数

如果满足1、2、3条件,就输出这个数,不满足就输出-1.

给个例子

3

1 0 0

这个构成的奇数是001,这个数前面有0,应该输出-1

解题思路:

  对给的N个数升序排序。

  然后最小的开始找,找到一个奇数,然后把它放在最左边。

  然后判断这个数是否,满足要求。满足要求,就输出。不满足就输出-1

AC代码:

 #include<cstdio>
#include<algorithm>
using namespace std; #define MAXN 110 int main(){
int i, j, n, digit[MAXN];
while(~scanf("%d", &n)){
for(i = ; i < n; ++i){
scanf("%d", &digit[i]);
} sort(digit, digit + n);//升序 for(i = ; i < n; ++i){//从左边开始找,找出一个奇数
if(digit[i] & ){//if(digit[i] % 2 == 1)
int t = digit[i];
for(j = i; j > ; --j){//将所有的数往右移一位
digit[j] = digit[j - ];
}
digit[j] = t;//把找到的奇数放在最后一位
break;//找到了 就跳出循环
}
} if(digit[n - ] && i < n){//这个整数没有前导0,并且在这个大数是奇数
for(j = n - ; j > ; --j)
printf("%d", digit[j]);
printf("%d\n", digit[j]);
}else{
puts("-1");
} }
return ;
}

HDU 5055 Bob and math problem(简单贪心)的更多相关文章

  1. HDU 5055 Bob and math problem(结构体)

    主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5055 Problem Description Recently, Bob has been think ...

  2. hdu 5055 Bob and math problem (很简单贪心)

    给N个数字(0-9),让你组成一个数. 要求:1.这个数是奇数 2.这个数没有前导0 问这个数最大是多少. 思路&解法: N个数字从大到小排序,将最小的奇数与最后一位交换,把剩下前N-1位从大 ...

  3. hdu 5055 Bob and math problem

    先把各个数字又大到小排列,如果没有前导零并且为奇数,则直接输出.如果有前导零,则输出-1.此外,如果尾数为偶数,则从后向前找到第一个奇数,并把其后面的数一次向前移动,并把该奇数放到尾部. 值得注意的是 ...

  4. hdu----(5055)Bob and math problem(贪心)

    Bob and math problem Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Oth ...

  5. 计蒜客 30990 - An Olympian Math Problem - [简单数学题][2018ICPC南京网络预赛A题]

    题目链接:https://nanti.jisuanke.com/t/30990 Alice, a student of grade 6, is thinking about an Olympian M ...

  6. HDU 1757 A Simple Math Problem 【矩阵经典7 构造矩阵递推式】

    任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1757 A Simple Math Problem Time Limit: 3000/1000 MS (J ...

  7. hdu 5435 A serious math problem

    A serious math problem Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Oth ...

  8. hdu 1757 A Simple Math Problem (乘法矩阵)

    A Simple Math Problem Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  9. HDU 5615 Jam's math problem

    Jam's math problem Problem Description Jam has a math problem. He just learned factorization.He is t ...

随机推荐

  1. Linux 查杀病毒的常见命令

    1. 查看异常连接的网络端口及其对应的相应的进程 netstat -anlp | grep EST 2.看下相关的进程ID对应的可执行文件的位置 ps 2393 可以看到进程的可执行文件在哪? 3.临 ...

  2. Jenkins + Ant + Git + Tomcat自动化部署

    环境linux下,大致的配置内容如下: 首先安装JDK配置环境变量等. 其次安装ANT配置ANT_HONE并把bin目录加入PATH中. 然后安装Git,并生成sshkey配置ssh 安装tomcat ...

  3. React Native开发之npm start加速

    在Windows下好不容易安装好React Native环境之后,运行npm start,结果就是无限被等待,快的话160秒(将近3分钟啊....) 而Mac下因为有watchman所以是飞一样的速度 ...

  4. 使用TFHelp解析Html

    似乎是第一次使用TFHelp解析Html,也是第一次解析Html遇到挺多的难题,现在这里简单的总结一下,慢慢补充TFHelp的使用! https://github.com/topfunky/hpple ...

  5. js中的数据类型

    JS中的数据类型: ——数字  (number)NaN ——字符串(string) ——布尔  (boolean)——函数  (function)     也是对象的一种 ——对象  (object) ...

  6. Android服务(Service)研究

    Service是android四大组件之一,没有用户界面,一直在后台运行. 为什么使用Service启动新线程执行耗时任务,而不直接在Activity中启动一个子线程处理? 1.Activity会被用 ...

  7. Learn ZYNQ (8)

    在zed的PS端运行spark(已成功): (1)设置uboot为sd卡启动rootfs: "sdboot=if mmcinfo; then " \                 ...

  8. hibernate 异常:could not execute statement

    错误信息: JDBC exception on Hibernate data access: SQLException for SQL [n/a]; SQL state [72000]; error ...

  9. CSS3过渡、变形和动画

    1.CSS3过渡 所谓CSS3过渡,就是使用CSS3让元素从一种状态慢慢转换到另一种状态.如鼠标的悬停状态就是一种过渡.如下例子: #content a{     text-decoration: n ...

  10. JavaScript 入门教程四 语言基础【3】

    一.数据类型介绍: String 1.是使用 Unicode 字符组成的字符序列.所以可以容纳各种语言. 2.字符串可以使用双引号(“”)或者单引号('')表示,但必须成对出现. 3.转移序列使用 \ ...