zoukankan      html  css  js  c++  java
  • cf618 训练cde

    面完试第一场vp cf,感觉题目挺规矩的,可能是有些历史了

    c

    #include <bits/stdc++.h>
    using namespace std;
    const int inf = 0x3f3f3f3f;
    const int mod = 1e9 + 7;
    const int N = 1e5 + 10;
    int sum[N];
    int main() {
        int n;
        scanf("%d", &n);
        vector<int> a(n);
        int ma = 0;
        for (auto& i : a) {
            scanf("%d", &i);
            int cnt = 0, t = i;
            while (t) {
                if (t & 1) {
                    ++sum[cnt];
                }
                t >>= 1;
                cnt++;
            }
            ma = max(ma, cnt);
        }
        int ans = inf;
        for (int i = ma - 1; i >= 0; i--) {
            if (sum[i] == 1) {
                ans = i;
                break;
            }
        }
        if (ans != inf) {
            int tp = 0;
            for (int i = 0; i < n; i++) {
                if (a[i] & (1 << ans)) {
                    tp = i;
                    break;
                }
            }
            printf("%d", a[tp]);
            for (int i = 0; i < n; i++) {
                if (i != tp) {
                    printf(" %d", a[i]);
                }
            }
            printf("
    ");
        }
        else {
            for (int i = 0; i < n; i++) {
                printf("%d", a[i]);
                if (i != n - 1) printf(" ");
                else printf("
    ");
            }
        }
        return 0;
    }

    d,有点几何的感觉

    #include <bits/stdc++.h>
    using namespace std;
    const int mod = 1e9 + 7;
    const int N = 1e5 + 10;
    const double  eps = 1e-9;
    struct point {
        int x, y;
        point operator - (const point& b) {
            return { x - b.x, y - b.y };
        }
        bool operator == (const point& b) {
            return x == b.x && y == b.y;
        }
    };
    bool ki(point a, point b, point c, point d) {
        return (b - a) == (c - d);
    }
    int main() {
        int n;
        scanf("%d", &n);
        vector<point> q(n);
        for (auto& v : q) {
            scanf("%d%d", &v.x, &v.y);
        }
        if (n & 1) {
            printf("NO
    ");
        }
        else {
            bool can = true;
            for (int i = 0; can && i < n / 2; i++) {
                if (!ki(q[i], q[i + 1], q[i + n / 2], q[(i + n / 2 + 1) % n])) {
                    can = false;
                }
            }
            if (can)printf("YES
    ");
            else printf("NO
    ");
        }
        return 0;
    }

    e,也是几何。。

    #include <bits/stdc++.h>
    using namespace std;
    const int mod = 1e9 + 7;
    const int N = 1e5 + 10;
    const double  eps = 1e-9;
    struct point {
        int x, y;
        point operator - (const point& b) {
            return { x - b.x, y - b.y };
        }
        bool operator == (const point& b) {
            return x == b.x && y == b.y;
        }
    };
    bool ki(point a, point b, point c, point d) {
        return (b - a) == (c - d);
    }
    int main() {
        int n;
        scanf("%d", &n);
        vector<point> q(n);
        for (auto& v : q) {
            scanf("%d%d", &v.x, &v.y);
        }
        if (n & 1) {
            printf("NO
    ");
        }
        else {
            bool can = true;
            for (int i = 0; can && i < n / 2; i++) {
                if (!ki(q[i], q[i + 1], q[i + n / 2], q[(i + n / 2 + 1) % n])) {
                    can = false;
                }
            }
            if (can)printf("YES
    ");
            else printf("NO
    ");
        }
        return 0;
    }
    View Code
  • 相关阅读:
    编程是点滴的积累
    Tech.ED 2005 北京 第二天印象
    Tech.ED 2005 北京 第三天印象
    别把事情弄的太复杂
    在看《青衣》
    可以用的开源包
    KVM虚拟机的性能问题
    [zz]kvmlibvirt的使用:创建虚拟机与快照
    KVM快照snapshot
    [zz]kvm环境快照(snapshot)的使用方法
  • 原文地址:https://www.cnblogs.com/zsben991126/p/13193260.html
Copyright © 2011-2022 走看看