A - 画牌河
思路:
模拟一下即可.
Code:
int x;
std::cin >> x;
std::vector<std::vector<int>> a(3, std::vector<int> (6));
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 6; j++) {
if (x > 0) {
a[i][j] = 1;
x--;
} else {
break;
}
}
}
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 6; j++) {
std::cout << a[i][j];
}
std::cout << "\n";
}
B - 不点两面(easy version)
思路:
数据范围较小,可以用map 计数,然后直接暴力.
Code:
int main() {
std::ios::sync_with_stdio(false);
std::cin.tie(nullptr);
int m, q;
std::cin >> m >> q;
std::map<int, int> mp;
while (q--) {
int op, num;
std::cin >> op >> num;
if (op == 1) {
mp[num]++;
} else {
mp[num] = std::max(0, --mp[num]);
}
int ans = 0;
for (int i = 1; i <= m; i++) {
if (mp[i - 3] >= 1 || mp[i + 3] >= 1) {
ans++;
}
}
std::cout << ans << "\n";
}
return 0;
}
571

被折叠的 条评论
为什么被折叠?



