• Codeforces Round #313 (Div. 2) A.B,C,D,E Currency System in Geraldion Gerald is into Art Gerald's Hexagon Equivalent Strings


    A题,超级大水题,根据有没有1输出-1和1就行了。我沙茶,把%d写成了%n。

    B题,也水,两个矩形的长和宽分别加一下,剩下的两个取大的那个,看看是否框得下。

    C题,其实也很简单,题目保证了小三角形是正三角形,一个正三角的面积=l*l*(1/2)*cos(30),由于只要算三角形个数,把六边形扩成一个大三角,剪掉三个小三角,除一下系数就没了。就变成了平方相减。

    D题,根据定义递归。然后注意奇数就行了。我沙茶,没加第一种判断dfs(a+len,len,b+len) && dfs(a,len,b)。

    E题,有思路,没写代码,就是个DP,设当前走到r,c且不经过黑点的方案数为dp[r][c],转移的时候用C(r+c-2,r-1)可以算出从(0,0)点走到(r,c)的方案数,然后减去从之前的黑点走到(r,c)的方案数。

    总结,好好读题,仔细敲代码

    A题

    #define HDU
    #ifndef HDU
    #include<bits/stdc++.h>
    #else
    #include<cstdio>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    #include<cstring>
    #endif // HDU
    using namespace std;
    //const int maxn = 1009;
    //int n;
    //int a[maxn];
    int main()
    {
    #ifdef local
        freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
    #endif // local
        int t;
        int n;
        while(~scanf("%d",&n)){
            bool flag = 0;
            for(int i = 0; i < n; i++){
                scanf("%d",&t);
                if(t == 1) flag = 1;
    
            }
            if(flag) printf("-1");
            else printf("1");
        }
        return 0;
    }
    
    /*
      // for(int i = 0; i < n; i++){
        //}
    
      scanf("%d",a+i);
        sort(a,a+n);
        if(a[0] == 1 ){
    
        }else
    */
    View Code

    B题

    #define HDU
    #ifndef HDU
    #include<bits/stdc++.h>
    #else
    #include<cstdio>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    //#include<iostream>
    #endif // HDU
    using namespace std;
    
    //#define local
    #define PY { puts("YES"); return 0; }
    #define PN { puts("NO"); return 0; }
    
    int main()
    {
    #ifdef local
        freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
    #endif // local
        int a0,b0;
        scanf("%d%d",&a0,&b0);
        int a1,b1,a2,b2;
        scanf("%d%d%d%d",&a1,&b1,&a2,&b2);
        int t = (a1+a2),t2 = max(b1,b2);
        if((t<=a0 && t2<= b0)|| (t<=b0 && t2<=a0) ) PY;
        t = (a1+b2); t2 = max(b1,a2);
        if((t<=a0 && t2<= b0)|| (t<=b0 && t2<=a0) ) PY;
        t = (b1+a2); t2 = max(a1,b2);
        if((t<=a0 && t2<= b0)|| (t<=b0 && t2<=a0) ) PY;
        t = (b1+b2); t2 = max(a1,a2);
        if((t<=a0 && t2<= b0)|| (t<=b0 && t2<=a0) ) PY;
        PN;
        return 0;
    }
    View Code

    C题

    #define HDU
    #ifndef HDU
    #include<bits/stdc++.h>
    #else
    #include<cstdio>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    //#include<iostream>
    #endif // HDU
    using namespace std;
    
    //#define local
    
    int main()
    {
    #ifdef local
        freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
    #endif // local
        int a,b,c,d,e,f,g;
        scanf("%d%d%d%d%d%d",&a,&b,&c,&d,&e,&f,&g);
        int l = a+b+c;
        int ans = l*l - a*a - c*c - e*e;
        printf("%d",ans);
        return 0;
    }
    View Code

    D题

    #define HDU
    #ifndef HDU
    #include<bits/stdc++.h>
    #else
    #include<cstdio>
    #include<cmath>
    #include<vector>
    #include<map>
    #include<set>
    #include<algorithm>
    #include<cstring>
    #endif // HDU
    using namespace std;
    
    //#define local
    
    bool dfs(char *a,int len,char *b)
    {
        if(len == 1) { return (*a) == (*b); }
        if(memcmp(a,b,len) == 0) return true;
        if(len&1) return false;
        len >>= 1;
        return (dfs(a,len,b+len) && dfs(a+len,len,b))||(dfs(a+len,len,b+len) && dfs(a,len,b));
    }
    
    const int maxn = 200000+5;
    char a[maxn],b[maxn];
    
    int main()
    {
    #ifdef local
        freopen("in.txt","r",stdin);
        //freopen("out.txt","w",stdout);
    #endif // local
        scanf("%s%s",a,b);
        int len = strlen(a);
        printf("%s
    ",dfs(a,len,b)?"YES":"NO");
        return 0;
    }
    View Code
  • 相关阅读:
    关于django模型里面的__str__和__unicode__
    js基础之javascript的存在形式和js代码块在页面中的存放位置和 CSS 对比
    css样式之边框和内外边距
    css样式之背景图片
    python学习笔记(2)--python3新特性
    linux命令每日一练习-rmdir mv
    代码规范
    抽象类和接口的区别
    单例模式及其并发问题
    使用url下载网络图片以及流介绍
  • 原文地址:https://www.cnblogs.com/jerryRey/p/4669862.html
Copyright © 2020-2023  润新知