• Codeforces Round #406 (Div. 2)


    只做出了B题,尴尬...

    第一题自己推规律推错了,事实证明正确解法是暴力。

    好在A被hack后知道错在了哪,反hack到2个人,所以rating居然还涨了。

    A - The Monster 【暴力】

    题意:有两个人。甲在b, b+a, b+2a, b+3a....的时候叫,乙在d, d+c, d+2c, d+3c...的时候叫。问是否存在某一时刻两人同时叫,输出第一次同时叫的时间。否则输出-1。

    做法:遍历甲前1000次叫的时刻,用map记录下来。然后遍历乙前1000次叫的时刻,如果该时刻甲也叫了,那就输出这个时刻,结束程序。如果一直找不到,那就是-1。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int a, b, c,d;
        cin >>a >>b>>c>>d;
        map<int,int>mp;
        for(int i = 0; i < 1000; i++) {
            mp[b + i * a] = 1;
        }
        for(int i = 0; i < 1000; i++) {
            if(mp[d + i * c] > 0) {
                cout << d + i * c << endl;
                return 0;
            }
        }
        puts("-1");
    }

    B - Not Afraid 【模拟】

    题意: 有N个星球(1..N) 和M个组织。每个星球有两个人,忠诚者(positive)和叛徒(negative)。如果任意一个组织里存在全部人都是叛徒的可能,那么输出"YES”,否则输出“NO”

    做法:对于每个组织,用set来存来自不同星球的人,如果找得到一对 a = -b(即来自同一星球的忠诚者和叛徒,那么这个组织肯定有一个忠诚者),则说明这个组织是安全的。否则输出“YES”,结束程序。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    #include <bits/stdc++.h>
    const int INF = 0x3f3f3f3f;
    using namespace std;
    int main() {
        int n, m, x, temp;
        scanf("%d%d", &n, &m);
        set<int>st;
        for(int i = 0; i < m; i++) {
            bool flag = false;
            scanf("%d", &x);
            st.clear();
            while(x--) {
                scanf("%d", &temp);
                if(st.find(-temp) != st.end()) flag = true//只要找得到一对,那么就不危险了
                st.insert(temp);
            }
            if(flag == false) {  //如果一对都找不到,那就要终止计划,输出"YES“,结束程序
                puts("YES");
                return 0;
            }
        }
        puts("NO");
    }
  • 相关阅读:
    战争迷雾Fog Of War
    [UE4]运行时UMG组件跟随鼠标的逻辑:拖拽UMG组件(蓝图)
    [UE4]FString常用API
    用PNG作为Texture创建Material
    [UE4]C++代码操作SplineMesh
    [UE4]Visual Studio的相关插件安装:UE4.natvis和UnrealVS Extension
    TSubobjectPtr和C++传统指针的区别
    组件Slate教程 & UMG widget构造初始化函数中获取其内部组件
    设置UMG的ComboBox(String)字体大小
    UMG设置组件自适应居中或靠边
  • 原文地址:https://www.cnblogs.com/bestwzh/p/6646843.html
Copyright © 2020-2023  润新知