Featured image of post Codeforces Round 691 Div. 2

Codeforces Round 691 Div. 2

Codeforces Round 691 Div. 2

Codeforces Round #691 (Div. 2)

因為 pC 找不到 bug,就一直亂丟,於是打得超爛。Rating 加了 43 到 1695。

pA. Red-Blue Shuffle

 1#include<bits/stdc++.h>
 2using namespace std;
 3typedef long long ll;
 4typedef pair<int, int> pii;
 5#define pb push_back
 6int main() {
 7    ios_base::sync_with_stdio(0); cin.tie(0);
 8    int T; cin >> T;
 9    while (T--) {
10        int n; cin >> n;
11        string R, B;
12        cin >> R >> B;
13        int r = 0, b = 0;
14        for (int i = 0; i < n; i++)
15            if (R[i] > B[i]) r++;
16            else if (R[i] < B[i]) b++;
17        if (r > b) cout << "RED\n";
18        else if (r < b) cout << "BLUE\n";
19        else cout << "EQUAL\n";
20    }
21    return 0;
22}

pB. Move and Turn

總共走 n 步,每走一步要從東西向換成左右向,問總共有幾種不同的終點?

首先,計算兩種各自需要走幾步,假設一種為 a 和 b 步,則各自有 a 和 b 種線性組合 (x - y = a),接下來考慮第一步為東西或南北,若 a 和 b 不同,則答案為 a * b * 2,否則為 a * b。

 1#include<bits/stdc++.h>
 2using namespace std;
 3typedef long long ll;
 4typedef pair<int, int> pii;
 5#define pb push_back
 6int main() {
 7    ios_base::sync_with_stdio(0); cin.tie(0);
 8    int n; cin >> n;
 9    int a = n / 2, b = n - n / 2;
10    int ans = (a + 1) * (b + 1);
11    if (a != b) ans *= 2;
12    cout << ans << "\n";
13    return 0;
14}

pC. Row GCD

給定 1 ≤ n, m ≤ 2e5,給定 a1 ~ an, b1 ~ bm,回答 a1 + bj ~ an + aj 的最大公因數 GCDj。

輾轉相除法是用相減,所以直接用數列差的 GCD 去和 a1 + bj 取 GCD 即可。

需要小心 n = 1 的狀況,不小心踩到坑了 QAQ

 1#include<bits/stdc++.h>
 2using namespace std;
 3typedef long long ll;
 4typedef pair<int, int> pii;
 5#define pb push_back
 6int main() {
 7    ios_base::sync_with_stdio(0); cin.tie(0);
 8    int n, m; cin >> n >> m;
 9    vector<ll> a(n);
10    for (int i = 0; i < n; i++)
11        cin >> a[i];
12    sort(a.begin(), a.end());
13    ll g = n > 1 ? a[1] - a[0] : 0;
14    for (int i = 2; i < n; i++)
15        g = __gcd(g, a[i] - a[0]);
16    for (int j = 0; j < m; j++) {
17        ll b; cin >> b;
18        cout << __gcd(g, a[0] + b) << " ";
19    }
20    return 0;
21}
Built with Hugo
Theme Stack designed by Jimmy