牛客OI周赛9-普及组

https://ac.nowcoder.com/acm/contest/696#question

A

代码:

#include <bits/stdc++.h>
using namespace std;
 
int T;
char c[10] = {'N', 'o', 'w', 'C', 'o', 'd', 'e', 'r'};
 
bool f(string s) {
    int len = s.length();
    int pos = 0;
    for(int i = 0; i < len; i ++) {
        if(s[i] == c[pos]) pos ++;
    }
    if(pos == 8) return true;
    return false;
}
 
int main() {
    scanf("%d", &T);
    while(T --) {
        string s;
        cin >> s;
        if(f(s)) printf("QAK\n");
        else printf("QIE\n");
    }
    return 0;
}
View Code

B

代码:

#include <bits/stdc++.h>
using namespace std;
 
const int maxn = 1e5 + 10;
int N;
long long a[maxn];
 
int getlen(long long x) {
    int cnt = 0;
    if(x == 0) return 1;
    while(x) {
        cnt ++;
        x /= 2;
    }
    return cnt;
}
 
int BitCount2(long long n) {
    int c = 0;
    for(c =0; n; ++ c)
        n &= (n - 1);
    return c ;
}
 
int sum(long long x) {
    int a = getlen(x);
    int b = BitCount2(x);
 
    if(b * 2 > a) return 1;
    return -1;
}
 
int main() {
    scanf("%d", &N);
    long long ans = 0;
    for(int i = 0; i < N; i ++) {
        scanf("%lld", &a[i]);
        a[i] = abs(a[i]);
        ans += sum(a[i]);
    }
    printf("%lld\n", ans);
    return 0;
}
View Code

C

代码:

#include <bits/stdc++.h>
using namespace std;
 
int mod = 1e9 + 7;
int N;
 
long long Pow(long long a, long long b) {
    long long ans1 = 1;
 
    a = a % mod;
 
    while(b) {
        if(b % 2) {
            ans1 = (ans1 * a) % mod;
            b --;
        } else {
            a = (a * a) % mod;
            b /= 2;
        }
    }
    return ans1;
}
 
int main() {
    scanf("%d", &N);
    long long ans = 0;
    if(N < 3)
        ans = Pow(26, N);
    else ans = 3 * Pow(25, N) - 3 * Pow(24, N) + Pow(23, N);
    ans = (ans % mod + mod) % mod;
    printf("%lld\n", ans % mod);
    return 0;
}
View Code

最后一道题不想看了 FH

猜你喜欢

转载自www.cnblogs.com/zlrrrr/p/10815289.html