zoukankan      html  css  js  c++  java
  • Codeforces Round #313 (Div. 2)

    A. Currency System in Geraldion

    刚开始以为是什么动态规划,直接在那里叫这可怎么办?后来又想到如果10里面的数可以拼出来,那么大的也可以拼出来了,于是这样写就过了。今天早上一看人家的代码,才发现如果一可以拼出来,那么其他都可以拼出来。所以只需要将输入的数排序,第一个是不是一考虑一下就可以了。自己思维还是不够。

    #include<bits/stdc++.h>
    using namespace std;
    
    int a[1024],dp[1000000+5];
    int main()
    {
        int i,j,n,f;
        while(~scanf("%d",&n))
        {
            for(i=0;i<n;i++)
                scanf("%d",&a[i]);
    
            sort(a,a+n);
            memset(dp,0,sizeof(dp));
            f=0;
            dp[0]=1;
            for(i=1;i<=10;i++)
            {
                for(j=0;a[j]<=i;j++)
                {
                    if(dp[i-a[j]]) {dp[i]=1;break;}
                }
                if(dp[i]==0) {f=1;break;}
            }
            if(f) printf("%d
    ",i);
            else printf("-1
    ");
        }
        return 0;
    }

    B. Gerald is into Art

    这里就是将所以情况都枚举一下,就可以了。

    #include<bits/stdc++.h>
    using namespace std;
    
    int f1(int a1,int b1,int a2,int b2,int a3,int b3)
    {
        if(a2+a3<=a1&&b2<=b1&&b3<=b1) return 1;
         if(a2+a3<=b1&&b2<=a1&&b3<=a1) return 1;
    
        if(b2+b3<=a1&&a2<=b1&&a3<=b1) return 1;
        if(b2+b3<=b1&&a2<=a1&&a3<=a1) return 1;
    
        if(a2+b3<=a1&&b2<=b1&&a3<=b1) return 1;
         if(a2+b3<=b1&&b2<=a1&&a3<=a1) return 1;
    
        if(b2+a3<=a1&&a2<=b1&&b3<=b1) return 1;
        if(b2+a3<=b1&&a2<=a1&&b3<=a1) return 1;
        return 0;
    }
    
    int main()
    {
       int a1,a2,a3,b1,b2,b3,f;
       while(~scanf("%d%d",&a1,&b1))
       {
           scanf("%d%d",&a2,&b2);
           scanf("%d%d",&a3,&b3);
           f=f1(a1,b1,a2,b2,a3,b3);
           if(f) printf("YES
    ");
            else printf("NO
    ");
       }
        return 0;
    }

    C. Gerald’s Hexagon
    当时没有想法,直接写了两题之后就去玩了。早上看了题解,发现者也是简单题,只需要做几条辅助线就可以实现了。

    #include<bits/stdc++.h>
    using namespace std;
    
    int main()
    {
        int a1,a2,a3,a4,a5,a6,t;
        while(~scanf("%d%d%d%d%d%d",&a1,&a2,&a3,&a4,&a5,&a6))
        {
            t=(a1+a2+a3)*(a1+a2+a3)-a1*a1-a3*a3-a5*a5;
            printf("%d
    ",t);
        }
        return 0;
    }

    版权声明:本文为博主原创文章,未经博主允许不得转载。http://xiang578.top/

  • 相关阅读:
    菜根谭#54
    菜根谭#53
    svn 的权限配置及命令
    linux部署git环境
    百度编辑器造成无用图片解决方案
    php无限极分类的实现
    phpstudy 升级mysql 5.7
    yii2常用查询
    mysql创建外键注意事项
    阿里云短信
  • 原文地址:https://www.cnblogs.com/xryz/p/4847902.html
Copyright © 2011-2022 走看看