zoukankan      html  css  js  c++  java
  • AtCoder Beginner Contest 096

    A - Day of Takahashi

    输入a b,问从1月1号到a月b号有几天是月份和日期相同的

    #include<bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1e6 + 5;
    typedef long long LL;
    int a, b;
    int main(){
        cin >> a >> b;
        if (a > b) cout << a - 1 << endl;
        else
            cout << a << endl;
        return 0;
    }
    

    B - Maximum Sum

    给出a b c d

    问每次将abc中的一个数x2,然后替换这个数,一共操作d次,最后的和最大是多少

    直接选择最大的数操作d次即可

    #include<bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1e6 + 5;
    typedef long long LL;
    int a, b, c, k;
    int main(){
        cin >> a >> b >> c >> k;
        int sum = a + b + c;
        int tmp = max({a, b, c});
        while(k--){
            tmp *= 2;
        }
        sum += -max({a, b, c}) + tmp;
        cout << sum << endl;
        return 0;
    }
    

    C - Grid Repainting 2

    输入一个NxM的矩阵 #代表要涂色,.代表不用

    每次涂色时都必须涂上下左右连续的两个方格,问能否完成涂色

    直接看每个#旁边有没有#即可

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1e3 + 5;
    typedef long long LL;
    int n, m, f[2][4] = {0, 0, 1, -1, 1, -1, 0, 0};
    char mp[N][N];
    int main() {
        cin >> n >> m;
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= m; j++) {
                cin >> mp[i][j];
            }
        }
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= m; j++) {
                if (mp[i][j] == '.') continue;
                int flag = 0;
                for (int k = 0; k < 4; k++) {
                    int x = i + f[0][k], y = j + f[1][k];
                    if(x>=1&&x<=n&&y>=1&&y<=m){
                        if (mp[x][y] == '#') flag = 1;
                    }
                }
                if(!flag){
                    cout << "No" << endl;
                    return 0;
                }
            }
        }
        cout << "Yes" << endl;
        return 0;
    }
    

    D - Five, Five Everywhere

    要求输出n个数,这n个数满足都是质数,且任取其中5个数,他们的和都是合数,每个数都不能大于55555

    注意到,5乘任何数,尾数要么是0要么是5,也就是说必然是合数,那么直接取尾数相同的n个质数即可,这样可以保证尾数是0或5

    #include <bits/stdc++.h>
    
    using namespace std;
    
    const int N = 1e6 + 5;
    typedef long long LL;
    int n;
    bool is_prime(int x) {
        if (x < 2) return false;  // 1不是素数
        for (int i = 2; i <= x / i;
             ++i)  // 从2循环到sqrt(x),但是循环进行条件不写i <=
                   // sqet(x),因为太慢;不写i * i <= x,因为可能有溢出的风险
            if (x % i == 0) return false;
        return true;
    }
    int main() {
        cin >> n;
        int cnt = 0;
        for (int i = 2; i <= 55555; i++) {
            if (i % 10 == 3) {
                if (is_prime(i)) {
                    cnt++;
                    cout << i << ' ';
                    if (cnt == n) break;
                }
            }
        }
        return 0;
    }
    
  • 相关阅读:
    nullnullConnecting with WiFi Direct 与WiFi直接连接
    nullnullUsing WiFi Direct for Service Discovery 直接使用WiFi服务发现
    nullnullSetting Up the Loader 设置装载机
    nullnullDefining and Launching the Query 定义和启动查询
    nullnullHandling the Results 处理结果
    装置输出喷泉装置(贪心问题)
    数据状态什么是事务?
    停止方法iOS CGD 任务开始与结束
    盘文件云存储——金山快盘
    函数标识符解决jQuery与其他库冲突的方法
  • 原文地址:https://www.cnblogs.com/dyhaohaoxuexi/p/14374605.html
Copyright © 2011-2022 走看看