hdu 5055(坑)
题目链接:http://acm.hdu.edu.cn/showproblem.php?
pid=5055
Bob and math problem
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 695 Accepted Submission(s): 263
There are N Digits, each digit is between 0 and 9. You need to use this N Digits to constitute an Integer.
This Integer needs to satisfy the following conditions:
- 1. must be an odd Integer.
- 2. there is no leading zero.
- 3. find the biggest one which is satisfied 1, 2.
Example:
There are three Digits: 0, 1, 3. It can constitute six number of Integers. Only "301", "103" is legal, while "130", "310", "013", "031" is illegal. The biggest one of odd Integer is "301".
Each case starts with a line containing an integer N ( 1 <= N <= 100 ).
The second line contains N Digits which indicate the digit $a_1, a_2, a_3, \cdots, a_n. ( 0 \leq a_i \leq 9)$.
3
0 1 3
3
5 4 2
3
2 4 6
301
425
-1
pid=5054" target="_blank">5054
5053 5052思路:这题有点略坑~思路挺简单。可是细心才干AC,
直接将n个数排序。然后找最小的奇数移出就可以。
PS:(1)要注意n==1的情况
(2)You need to use this N Digits to constitute an Integer.
#include <iostream>
#include <stdio.h>
#include <string.h>
#include <string>
#include <cmath>
const int INF=99999999;
#include <algorithm>
using namespace std; int a[110];
bool cmp(int a,int b)
{
return a>b;
}
int main()
{
int n;
while(cin>>n)
{
for(int i=1;i<=n;i++)
{
cin>>a[i];
}
if(n==1)
{
if(a[1]&1)
cout<<a[1]<<endl;
else
cout<<-1<<endl;
continue;
}
sort(a+1,a+1+n,cmp); int flag=INF;
for(int i=n;i>=1;i--)
{
if(a[i]&1)
{
flag=i;
break;
}
}
if(flag==INF)
{
cout<<-1<<endl;
continue;
}
if(flag==1&&a[2]==0)
{
cout<<-1<<endl;
continue;
}
for(int i=1;i<=n;i++)
{
if(i!=flag)
cout<<a[i];
}
cout<<a[flag]<<endl;
}
return 0;
}
hdu 5055(坑)的更多相关文章
- HDU 5055 Bob and math problem(简单贪心)
http://acm.hdu.edu.cn/showproblem.php?pid=5055 题目大意: 给你N位数,每位数是0~9之间.你把这N位数构成一个整数. 要求: 1.必须是奇数 2.整数的 ...
- HDU 5055 Bob and math problem(结构体)
主题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5055 Problem Description Recently, Bob has been think ...
- hdu 5055
http://acm.hdu.edu.cn/showproblem.php?pid=5055 n个digit能组合出的最大无前导0奇数 无聊的模拟 #include <cstdio> #i ...
- hdu 2837 坑题。
Calculation Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- hdu 5055 Bob and math problem
先把各个数字又大到小排列,如果没有前导零并且为奇数,则直接输出.如果有前导零,则输出-1.此外,如果尾数为偶数,则从后向前找到第一个奇数,并把其后面的数一次向前移动,并把该奇数放到尾部. 值得注意的是 ...
- hdu 5055(模拟)
Bob and math problem Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- hdu 5055 Bob and math problem (很简单贪心)
给N个数字(0-9),让你组成一个数. 要求:1.这个数是奇数 2.这个数没有前导0 问这个数最大是多少. 思路&解法: N个数字从大到小排序,将最小的奇数与最后一位交换,把剩下前N-1位从大 ...
- HDU1573:X问题(解一元线性同余方程组)
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1573 题目解析;HDU就是坑,就是因为n,m定义成了__int64就WAY,改成int就A了,无语. 这题 ...
- BestCoder Round #11 (Div. 2) 前三题题解
题目链接: huangjing hdu5054 Alice and Bob 思路: 就是(x,y)在两个參考系中的表示演全然一样.那么仅仅可能在这个矩形的中点.. 题目: Alice and Bob ...
随机推荐
- linux系统编程:线程原语
线程原语 线程概念 线程(thread),有时被称为轻量级进程(Lightweight Process,LWP).是程序运行流的最小单元.一个标准的线程由线程ID.当前指令指针(PC),寄存器集合和堆 ...
- Redux-saga学习笔记
概述 Redux-saga在Redux应用中扮演’中间件’的角色,主要用来执行数据流中的异步操作.主要通过ES6中的generator函数和yield关键字来以同步的方式实现异步操作. 基本用法: 使 ...
- C++回调函数(callback)的使用
什么是回调函数(callback) 模块A有一个函数foo,他向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事 ...
- Spring3数据源的6种配置方法
在Spring3中,配置DataSource的方法有五种. 第一种:beans.xml <bean id="dataSource" class="org.apach ...
- 将MyEclipse项目导入到Eclipse中
1.请首先确保你的eclipse是javaee版本的,或者已经安装wtp插件 2.然后修改eclipse工程下的.project文件: 3.在<natures></natures&g ...
- 如何高效把一字节的位对换, bit0和bit7,bit1和bit6,以此类推.
#include<stdio.h> #include<stdlib.h> //异或法 unsigned char byteReverse(unsigned char val) ...
- mac的cpu处理器个数、核数、超线程
处理器:1个 每个核的L2缓存大小:256KB L3缓存大小:3MB 核数:2个 2个核却有4个CPU:使用了超线程技术--双核四线程 macOS,查看CPU信息:sysctl machdep.cpu ...
- OTL翻译(6) -- otl_connect类
otl_connect 这个类封装了连接的功能,如连接.断开连接.提交.回滚等.otl_connect也就是一个用来创建连接对象并进行管理的类. 序号 方法.变量 说明 1 int connected ...
- [leetcode]Insertion Sort List @ Python
原题地址:http://oj.leetcode.com/problems/insertion-sort-list/ 题意:对链表进行插入排序. 解题思路:首先来对插入排序有一个直观的认识,来自维基百科 ...
- Substring with Concatenation of All Words leetcode java
题目: You are given a string, S, and a list of words, L, that are all of the same length. Find all sta ...