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. CAS代理配置

    CAS Server:www.sinosoft.com 代理服务:palace.sinosoft.com 被代理服务:gguser.sinosoft.com 1. 建立key,命令如下: keytoo ...

  2. js 闭包之一

    既然说闭包的化,我们就先来说说函数.慢慢的进入进入正题 (1)函数申明 f1(); function f1(){ alert(") }//结果 1 (2)函数定义 f1();var f1=f ...

  3. JAVA面试题1

    1.在main(String[] args)方法内是否可以调用一个非静态方法? 答案:不能[public static void main(String[] args){}] 2.同一个文件里是否可以 ...

  4. 推荐Python Web开发测试驱动方法

    http://www.cnblogs.com/dkblog/archive/2013/06/14/3135914.html推荐 本人买的时候,京东打8.5折,现在降价啦,本书涵盖啦Django.Sel ...

  5. javascript学习之带滚动条的图片

    之前找了好久没有找到,就自已动手写了一个: <!DOCTYPE html> <html> <head> <meta charset="utf-8&q ...

  6. 使用File类列出指定位置的文件信息,包含该路径子目录下的文件信息

    public class Test{ public static void main(String [] args) { File f=new File("d:"); File [ ...

  7. MongoDB的配置、启动、关闭

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系 ...

  8. Java中的递归运算

    Java中的递归运算是一种在自己的方法内部调用自己的方法 递归的设计思想是:把一个复杂的问题,分解为若干个等同的子问题,重复执行,直到之问题能够简单到直接求解,这样复杂的问题就得以解决. 递归运算有两 ...

  9. Sublime P4语法高亮设置

    Github插件链接:p4-syntax-highlighter 首先安装Package Control. 进入Package界面,我的目录: /Users/wasdns/Library/Applic ...

  10. json转js对象

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...