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

    AtCoder Beginner Contest 150

    A

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int k, x;
        cin >> k >> x;
        if(k * 500 >= x) cout << "Yes
    ";
        else cout << "No
    ";
        return 0;
    }
    

    B

    字串匹配

    #include <bits/stdc++.h>
    using namespace std;
    int main() {
        int n,cnt = 0;
        string s;
        cin >> n >> s;
        for(int i = 0;i < n; ++i) {
            if(i + 2 < n && s[i] == 'A' && s[i + 1] == 'B' && s[i + 2] == 'C') cnt ++;
        }
        cout << cnt;
        return 0;
    }
    

    C

    康托展开

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 10;
    int fact[10] = {1, 1, 2, 6, 24, 120, 720, 5040, 40320, 362880};
    int cantor(int a[],int n) {
        int res = 0;
        for(int i = 0;i < n; ++i) {
            int cnt = 0;
            for(int j = i + 1;j < n; ++j) if(a[j] < a[i]) cnt  ++;
            res += cnt * fact[n - i - 1];
        }
        return res + 1;
    }
    int main() {
        int n,a,b,s[N];
        cin >> n;
        for(int i = 0;i < n; ++i) cin >> s[i];
        a = cantor(s,n);
        for(int i = 0;i < n; ++i) cin >> s[i];
        b = cantor(s,n);
        cout << abs(a - b);
        return 0;
    }
    

    D

    给定一个序列(A={a_1+a_2+dots+a_N}) 序列中的每一个数都是偶数,和一个整数(M)

    定义一个”半公倍数“(X) 满足对于每个(a_i) ,都存在一个正整数(p) 与之对应,且(X=a_i imes(p+0.5))

    (X) 的范围是(1sim M) 让你寻找有多少个这样的数字

    他的意思就是说,(p) 可以随便改变,但是(X) 是固定的,对于序列中的每个数字都能得到同一个(X)

    问你有几个这样的(X)

    先把等式两边变形(X=a_i/2 imes(2p+1))

    因为(a_i)是偶数,所以令(b_i=a_i/2) ,(X=b_i imes(2p+1)) ,所以只需要找有多少个((2p+1)) 小于等于(M) 即可

    咕咕咕。

  • 相关阅读:
    背包问题
    floyed算法
    读Windows编程
    PB串口编程资料(转)
    读TCP-IP详解卷1:协议(1)
    Oracle把两个空格以上的空格,替换为两个空格
    PB中multieditline空间的“~r~n"转"~n"
    PB中掉用Run以后,等Run的程序关闭以后才会执行后边的语句
    一个关于生成随机数的算法
    英语词根
  • 原文地址:https://www.cnblogs.com/lukelmouse/p/12469087.html
Copyright © 2011-2022 走看看