Codeforces Round 1019 (Div. 2)
A. Common Multiple
找不同的数字
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {int t; cin >> t;while (t--) {int n;cin >> n;vector<int> a(n);for (int i = 0; i < n; i++)cin >> a[i];sort(a.begin(), a.end());int k = n;for (int i = 1; i < n; i++) {if (a[i] == a[i - 1])k--;}cout << k << endl;}return 0;
}
B. Binary Typewriter
假设前面有一个0
#include<iostream>
#include<cstring>
using namespace std;
int main() {int t;cin >> t;while (t--) {int n; cin >> n;string s; cin >> s;s = "0" + s;//把0拼接到s的最前面int k = n;int cur = s[0];for (int i = 1; i <= n; i++) {int dig = s[i];if (cur != dig)k++;cur = dig;}if (k-n >= 3)cout << k - 2 << endl;else if (k-n == 2)cout << k - 1 << endl;else cout << k << endl;}return 0;
}