Codeforces Round #581 (div. 2) A,B,C,D1,D2
  ecCNZqUYvVPu 2023年11月02日 47 0


算是有史以来打得最好的一场了吧,出了 Codeforces Round #581 (div. 2) A,B,C,D1,D2_i++ 题,Codeforces Round #581 (div. 2) A,B,C,D1,D2_i++_02

A. BowWow and the Timetable

#include <bits/stdc++.h>
 
#define int long long
using namespace std;
char s[300];
signed main() {
    cin >> (s + 1);
    int n = strlen(s + 1);
    if (n == 1) {
        cout << 0 << endl;
        return 0;
    }
    int f = 0;
    for (int i = 1; s[i]; i++)
        if (s[i] == '1')
            f++;
    int x = n - 1 >> 1;
    x++;
    if (f == 1 && n % 2)
        x--;
    cout << x << endl;
    return 0;
}

B. Mislove Has Lost an Array

#include <bits/stdc++.h>
 
#define int long long
using namespace std;
 
signed main() {
    int n, l, r, ans = 0, k = 1;
    cin >> n >> l >> r;
    ans = n - l;
    for (int i = 1; i <= l; ++i) {
        ans += k;
        k <<= 1;
    }
    cout << ans << " ";
    ans = 0, k = 1;
    for (int i = 1; i < r; ++i) {
        ans += k;
        k <<= 1;
    }
    ans += (n - r + 1) * k;
    cout << ans << endl;
    return 0;
}

C. Anna, Svyatoslav and Maps

#include <bits/stdc++.h>
 
using namespace std;
const int maxn = 1e6 + 10;
int mp[110][110], a[maxn], n, m;
vector<int> v;
 
signed main() {
    //freopen("in","r",stdin);
    for (int i = 0; i < 110; i++) {
        for (int j = 0; j < 110; j++)
            mp[i][j] = 0x3f3f3f3f;
    }
    cin >> n;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            int tmp;
            scanf("%1d", &tmp);
            if (tmp)
                mp[i][j] = 1;
        }
    }
    for (int k = 1; k <= n; k++) {
        for (int i = 1; i <= n; i++) {
            for (int j = 1; j <= n; j++) {
                if (mp[i][k] + mp[k][j] < mp[i][j])
                    mp[i][j] = mp[i][k] + mp[k][j];
            }
        }
    }
    for (int i = 1; i <= n; i++)
        mp[i][i] = 0x3f3f3f3f;
    cin >> m;
    for (int i = 1; i <= m; i++)
        cin >> a[i];
    v.push_back(a[1]);
    int j = 1;
    for (int i = 2; i <= m; i++) {
        if (mp[a[j]][a[i]] != i - j) {
            v.push_back(a[max(j + 1, i - 1)]);
            j = i - 1;
        }
    }
    v.push_back(a[m]);
    cout << v.size() << endl;
    for (int i = 0; i < v.size(); i++) {
        if (i)
            cout << " ";
        cout << v[i];
    }
    return 0;
}

D2. Kirk and a Binary String

#include<bits/stdc++.h>
 
#define int long long
using namespace std;
const int maxn = 1e6 + 10;
char s[maxn], t[maxn];
int ll, rr, n;
 
signed main() {
    cin >> s;
    n = strlen(s);
    for (int i = n - 1; i >= 0; i--) {
        if (s[i] == '0')
            ll++, t[i] = '0';
        else if (s[i] == '1') {
            if (rr >= ll)t[i] = '0';
            else t[i] = '1', rr++;
        }
    }
    cout << t << endl;
    return 0;
}


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  pHi3xXObtd3a   2023年11月02日   72   0   0 void*voidC++指针c
  ZPjjn0e4NYwF   2023年11月13日   36   0   0 C++
  Fv5flEkOgYS5   2023年11月02日   53   0   0 i++javaide
  xlvdqsD183Uk   2023年11月13日   46   0   0 分隔符输出格式ci
ecCNZqUYvVPu