后四题

K

#include <iostream>
#include <string>
using namespace std;
int main(){
    int T, l, sum1, sum2; string s; 
    cin >> T;
    for(int i = 1; i <= T; i++){
        cin >> s;
        l = s.size();
        if(l == 1 && s[0] == '0'){
            cout << "Yes" << ' ' << "Yes" << endl;
            continue;
        }
        sum1 = sum2 = 0;
        for(int j = l - 1; j >= 0; j--){
            if((l - j) % 2) sum1 += s[j] - '0';
            else sum2 += s[j] - '0';
        }
        if((sum1 + sum2) % 3) cout << "No"; else cout << "Yes";
        cout << ' ';
        if((sum1 - sum2) % 11) cout << "No"; else cout << "Yes";
        cout << endl;
    }
    return 0;
}

L

#include <iostream>
#include <cmath>
#include <cstring>
using namespace std;
int a[1000000];
int main(){
    int T, n, x, y;
    cin >> T;
    for(int i = 1; i <= T; i++){
        cin >> n >> x;
        memset(a, 0, sizeof(a));
        for(int j = 2; j <= n; j++){
            cin >> y;
            if(abs(y - x) > 999999) break;
            a[abs(y - x)] = 1, x = y;
        }
        bool flg = 1;
        for(int j = 1; j <= n - 1; j++){
            if(!a[j]){
                flg = 0;
                break;
            }
        }
        if(flg) cout << "Jolly"; else cout << "Not jolly";
        cout << endl;
    }
    return 0;
}

M

#include <iostream>
using namespace std;
int f[1000];
void getfeb(){
    for(int i = 2; i <= 100; i++){
        f[i] = (f[i - 1] + f[i - 2]) % 3;
    }
}
int main(){
    int T, a, b, n, m;
    cin >> T;
    for(int i = 1; i <= T; i++){
        cin >> a >> b >> m;
        f[0] = a % 3, f[1] = b % 3;
        getfeb();
        for(int j = 1; j <= m; j++){
            cin >> n;
            if(f[n % 100]) cout << "No" << endl;
            else cout << "Yes" << endl;
        }
        cout << endl;
    }
    return 0;
}

N

#include <iostream>
#include <cstring>
using namespace std;
int a[1000010];
int main(){
    ios::sync_with_stdio(false);
    int T, n, m, x;
    cin >> T;
    for(int k = 1; k <= T; k++){
        cin >> n >> m;
        memset(a, 0, sizeof(a));
        for(int i = 1; i <= n; i++){
            cin >> x;
            a[x + 500000]++;
        }
        for(int i = 1000000; i >= 0; i--){
            while(a[i] && m){
                a[i]--, m--;
                cout << i - 500000 << ' ';
            }
            if(!m) break;
        }
        cout << endl;
    }
    return 0;
}
posted @ 2022-04-29 14:08  skyliyu  阅读(41)  评论(0)    收藏  举报