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

思路:贪心,先排序,然后找到一个奇数与最后以为交换,然后把前n-1位从大到小排序,看看是否符合。

 1 #include <cstdio>
 2 #include <cstring>
 3 #include <algorithm>
 4 using namespace std;
 5
 6 int n;
 7 int a[10000];
 8 bool cmp(int a,int b)
 9 {
10    return a>b;
11 }
12
13 int main()
14 {
15     while(scanf("%d",&n)!=EOF)
16     {
17        memset(a,0,sizeof(a));
18        bool flag=false;
19        for(int i=1; i<=n; i++)
20        {
21           scanf("%d",&a[i]);
22           if(a[i]%2)
23           {
24              flag=true;
25           }
26        }
27        if(!flag)
28        {
29           printf("-1\n");
30        }
31        else
32        {
33           sort(a+1,a+n+1,cmp);
34           for(int i=n; i>=1; i--)
35           {
36               if(a[i]%2)
37               {
38                   swap(a[i],a[n]);
39                   break;
40               }
41           }
42           sort(a+1,a+n,cmp);
43           int j=1;
44           while(a[j]==0)
45           {
46               j++;
47           }
48           if(j>1)
49           {
50              printf("-1\n");
51              continue;
52           }
53           for(int i=j; i<=n; i++)
54           {
55               printf("%d",a[i]);
56           }
57           printf("\n");
58        }
59     }
60     return 0;
61 }

View Code

转载于:https://www.cnblogs.com/fanminghui/p/4277943.html

hdu 5055 Bob and math problem相关推荐

  1. HDU 5055 Bob and math problem(构造)

    无法输出的情况稍微难处理 其他的只要贪心构造一下就好了 #include<iostream> #include<cstdio> #include<set> #inc ...

  2. hdu 5435 A serious math problem(数位dp)

    题目链接:hdu 5435 A serious math problem 裸的数位dp. #include <cstdio> #include <cstring> #inclu ...

  3. HDU - 5974 A Simple Math Problem 题解

    D - Simple Math Problem 戳上方进入原题哟~ 题目大意 给一个数 a,b. 让你求满足一下条件的 X,Y: X+Y = a LCM(X,Y) = b 解析 题目给出时间限制1s, ...

  4. 【ACM】杭电OJ 5055(Bob and math problem)

    http://acm.hdu.edu.cn/showproblem.php?pid=5055 注意几点: 1.全部都是偶数,输出-1 2.n-1个是0,第n个不论是奇数,还是偶数,输出-1 3.n=1 ...

  5. HDU 1757 A Simple Math Problem

    Problem Description Lele now is thinking about a simple function f(x). If x < 10 f(x) = x. If x & ...

  6. hdu 5615 Jam's math problem(判断是否能合并多项式)

    方法一:由十字相乘相关理论我们能知道,如果要有p,k,q,m,那么首先要有解,所以b*b-4*a*c要>0,然而因为p,k,q,m是正整数,所以代表x1,x2都是有理数,有理数是什么鬼呢?就是解 ...

  7. HDU 1757 A Simple Math Problem (矩阵快速幂)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1757 在吴神的帮助下才明白如何构造矩阵,还是好弱啊. 此处盗一张图 1 #include <io ...

  8. HDU 1757 A Simple Math Problem(矩阵快速幂)

    题目链接 题意 :给你m和k, 让你求f(k)%m.如果k<10,f(k) = k,否则 f(k) = a0 * f(k-1) + a1 * f(k-2) + a2 * f(k-3) + -- ...

  9. HDU - 1757 A Simple Math Problem (矩阵快速幂)

    Lele now is thinking about a simple function f(x). If x < 10 f(x) = x.  If x >= 10 f(x) = a0 * ...

  10. hdu 1757 A Simple Math Problem 构造矩阵

    题意:函数f(x), 若 x < 10 f(x) = x. 若 x >= 10 f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + -- + ...

最新文章

  1. Java中ArrayList源码分析
  2. Linux下C/C++编译环境搭建
  3. 开发人员应该对IIS理论层的知识了解的多一些~第四讲 HttpModule中的几大事件
  4. Linux中zip压缩和unzip解压缩
  5. Pandas matplotlib 无法显示中文
  6. JS:javaweb——a标签实现跳转并打开新窗口
  7. android应用js
  8. javascript完美判断类型
  9. linux中常用名词解释,科学网—linux中常见名词解释 - 武海丹的博文
  10. 猎洞高手Orange Tsai 亲自讲解 ProxyShell write-up
  11. [hgo学习]-tutorial 03
  12. 思科OSPF配置实例(转)
  13. 声纹、语音识别入门书籍推荐
  14. Java虚拟机启动整体流程和基础学习(内容很多,不可快餐阅读),推理+源码论证
  15. excle统计不同的内容的单元格个数
  16. 狂神SpringSecurity学习笔记(基础)
  17. 统一软件过程的基本概念
  18. c语言实验——第一个实验
  19. 【数仓】DAMA数据管理知识体系指南
  20. 开源 串口调试助手 BaoYuanSerial 使用教程

热门文章

  1. 特殊时期,找工作的 9 点建议!
  2. Dubbo 分布式事务一致性实现
  3. [原创]spring及springmvc精简版--继承数据源,声明式事物
  4. Cocos2d-x动画播放(序列帧)
  5. 数据挖掘十大算法-决策树的实现
  6. 13、第七 - 网络编程基础 - Python中协程EVENT()函数-事件函数
  7. mysql添加一个字段(
  8. linux 驱动 printk 输出变量格式
  9. 如何制作响应式网站?12个优秀案例参考
  10. Binary translation is incompatible with long mode on this platform