今晚ABC442
2026-01-25 16:50:38
发布于:江西
A
#include <bits/stdc++.h>
using namespace std;
int main() {
string s;
int ans = 0;
cin >> s;
for (int i = 0; i < s.size(); i++) {
if (s[i] == 'i' || s[i] == 'j') {
ans++;
}
}
cout << ans;
return 0;
}
B
#include <bits/stdc++.h>
using namespace std;
int main() {
int q, t = 0, pl = 0;
cin >> q;
for (int i = 0; i < q; i++) {
int a;
cin >> a;
if (a == 1) t++;
else if (a == 2 && t >= 1) t--;
else if (a == 3 && pl == 0) pl = 1;
else if (a == 3 && pl == 1) pl = 0;
if (t >= 3 && pl == 1) cout << "Yes\n";
else cout << "No\n";
}
return 0;
}
C
#include <bits/stdc++.h>
using namespace std;
#define ll long long
int vis[200005];
/*ll func(ll n, ll m) {
if (m == 0 || m == n) return 1;
return func(n - 1, m) + func(n - 1, m - 1);
}*/
ll res[200005][5] = {0};
ll func(ll n, ll m){
if (m == 0 || m == n) return 1;
if (res[n][m] != 0) return res[n][m];
return res[n][m] = func(n - 1, m) + func(n - 1, m - 1);
}
int main() {
int n, m;
cin >> n >> m;
for (int i = 0; i < m; i++) {
int a, b;
cin >> a >> b;
vis[a]++;
vis[b]++;
}
for (int i = 1; i <= n; i++) {
int yes = n - vis[i] - 1;
if (yes < 3) cout << 0 << " ";
else
cout << func(yes, 3) << " ";
}
return 0;
}
代码赛后发
第一次做出C!!
第一次做出C!!
第一次做出C!!
第一次做出C!!
第一次做出C!!





@༺དༀ༒∞░∞༒ༀཌ༻(不加团)
全部评论 4
神秘组合数计算方法,好像也没错(
3天前 来自 广东
0d
3天前 来自 浙江
0《在线中》
3天前 来自 江西
0
发在学习讨论何意味?
3天前 来自 上海
0打比赛不也算学习吗?
3天前 来自 江西
0抱歉,之前还没发代码
3天前 来自 上海
0
6
4天前 来自 浙江
0






























有帮助,赞一个