比赛链接
A 小学数学
思路
小学数学没什么好说的
代码
#include <bits/stdc++.h>
using namespace std;
#define umap unordered_map
#define cy cout << "Yes" << endl
#define cn cout << "No" << endl
#define ll long long
#define forn(i, l, r) for (int i = l; i <= r; i++)
#define forn_(i, l, r) for (int i = l; i >= r; i--)
#define debug(a) cout << #a << "=" << a << endl;
const int inf = 0x3f3f3f3f;
const int N = 2e5 + 5;
int main() {
int a, b;
cin >> a >> b;
cout << (a - 1) * (b - 1);
return 0;
}
B 枚举
思路
纯枚举,也没什么好说的
代码
#include <bits/stdc++.h>
using namespace std;
#define umap unordered_map
#define cy cout << "Yes" << endl
#define cn cout << "No" << endl
#define ll long long
#define forn(i, l, r) for (int i = l; i <= r; i++)
#define forn_(i, l, r) for (int i = l; i >= r; i--)
#define debug(a) cout << #a << "=" << a << endl;
const int inf = 0x3f3f3f3f;
const int N = 2e5 + 5;
bool cnt(int x) {
int res = 0;
forn(i, 1, x) if (x % i == 0) res++;
return res == 8;
}
int n;
int ans;
int main() {
cin >> n;
forn(i, 1, n) if (i & 1) ans += cnt(i);
cout << ans;
return 0;
}
C 思维
思路

代码
#include <bits/stdc++.h>
using namespace std;
#define umap unordered_map
#define cy cout << "Yes" << endl
#define cn cout << "No" << endl
#define ll long long
#define forn(i, l, r) for (int i = l; i <= r; i++)
#define forn_(i, l, r) for (int i = l; i >= r; i--)
#define debug(a) cout << #a << "=" << a << endl;
const int inf = 0x3f3f3f3f;
const int N = 2e5 + 5;
ll k;
string s;
int main() {
cin >> s >> k;
int n = s.size();
s = ' ' + s;
forn(i, 1, n) {
if (i == k && s[i] == '1') {
cout << 1;
return 0;
}
if (s[i] != '1') {
cout << s[i];
return 0;
}
}
return 0;
}
D 思维
思路

代码
#include <bits/stdc++.h>
using namespace std;
#define umap unordered_map
#define cy cout << "Yes" << endl
#define cn cout << "No" << endl
#define ll long long
#define forn(i, l, r) for (int i = l; i <= r; i++)
#define forn_(i, l, r) for (int i = l; i >= r; i--)
#define debug(a) cout << #a << "=" << a << endl;
const int inf = 0x3f3f3f3f;
const int N = 5e2 + 5;
ll n, m, q;
ll s[N][N];
ll l, r;
int main() {
cin >> n >> m >> q;
forn(i, 1, m) cin >> l >> r, s[l][r]++;
forn(i, 1, n) forn(j, 1, n) s[i][j] += s[i - 1][j] + s[i][j - 1] - s[i - 1][j - 1];
while (q--) {
cin >> l >> r;
cout << s[r][r] - s[l - 1][r] - s[r][l - 1] + s[l - 1][l - 1] << endl;
}
return 0;
}