zoukankan      html  css  js  c++  java
  • hdu 5055 Bob and math problem

    主题链接:http://acm.hdu.edu.cn/showproblem.php?

    pid=5055


    思路:排序然后直接取出最小的那一个奇数,注意推断n==1时。。。


    code1:

    <span style="font-size:18px;">#include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
        int n,i;
        int a[110],b[110];
        while(scanf("%d",&n)==1)
        {
            int sum=0;
            int flag;
            for(i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
                if(a[i]!=0)
                {
                    sum++;
                }
            }
            if(n==1)
            {
                if(a[0]%2==1)
                {
                    printf("%d
    ",a[0]);
                }
                else
                {
                    printf("-1
    ");
                }
                continue;
            }
            sort(a,a+n);
            for(i=0;i<n;i++)
            {
                if(a[i]%2==1)
                {
                    flag=i;
                    break;
                }
            }
            if(i==n||sum<=1)
            {
                printf("-1
    ");
            }
            else
            {
                for(i=n-1;i>=0;i--)
                {
                    if(i!=flag)
                    {
                        printf("%d",a[i]);
                    }
                }
                printf("%d
    ",a[flag]);
            }
        }
        return 0;
    }
    </span>



    code2:
    <span style="font-size:18px;">#include<cstdio>
    #include<iostream>
    #include<cmath>
    #include<algorithm>
    
    using namespace std;
    
    int main()
    {
        int n,i;
        int a[110],b[110];
        while(scanf("%d",&n)==1)
        {
            int minn=10;
            int sum=0;
            int flag=0;
            for(i=0;i<n;i++)
            {
                scanf("%d",&a[i]);
                if(a[i]%2==1)
                {
                    flag=1;
                    minn=min(minn,a[i]);
                }
                if(a[i]!=0)
                {
                    sum++;
                }
            }
            if(flag==0)
            {
                printf("-1
    ");
                continue;
            }
            if(n==1)
            {
                if(a[0]%2==1)
                {
                    printf("%d
    ",a[0]);
                }
                else
                {
                    printf("-1
    ");
                }
                continue;
            }
            if(sum<=1)
            {
                printf("-1
    ");
                continue;
            }
    
            int len=0;
            int flag1=0;
            for(i=0;i<n;i++)
            {
                if(a[i]==minn&&flag1==0)
                {
                    flag1=1;
                }
                else
                {
                    b[len++]=a[i];
                }
            }
            sort(b,b+len);
    
            int flag2=0;
            for(i=len-1;i>=0;i--)
            {
                if(b[i]!=0)
                {
                    printf("%d",b[i]);
                    flag2=1;
                }
                else if(flag2==1)
                {
                    printf("%d",b[i]);
                }
    
            }
            printf("%d
    ",minn);
        }
        return 0;
    }</span>


    版权声明:本文博客原创文章。博客,未经同意,不得转载。

  • 相关阅读:
    bzoj1096: [ZJOI2007]仓库建设
    bzoj3289: Mato的文件管理
    bzoj1878: [SDOI2009]HH的项链
    bzoj1295: [SCOI2009]最长距离
    bzoj1056: [HAOI2008]排名系统 && 1862: [Zjoi2006]GameZ游戏排名系统
    vijosP1026毒药?解药?
    bzoj1293: [SCOI2009]生日礼物
    bzoj1483: [HNOI2009]梦幻布丁
    PCB开窗
    3W原则
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4731819.html
Copyright © 2011-2022 走看看