Applejack and Storages

Applejack and Storages
在这里插入图片描述

题意

有 n 条边,给出对应的长度,有 m 次询问,每次会 ‘+’:添加一根木棒,或 ‘-’:减少一根木棒,问是否可以组成一个正方形和一个长方形,这两个四边形不可以重合,减少时,保证一定拥有这种长度的木棒

#include using namespace std;int n, x, cnt2, cnt4;
unordered_map<int, int> ma;int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &x);ma[x]++;if (ma[x] % 2 == 0) cnt2++;if (ma[x] % 4 == 0) cnt4++;}int q;scanf("%d", &q);while (q--) {char op[2];scanf("%s", op);scanf("%d", &x);if (op[0] == '+') {ma[x]++;if (ma[x] % 2 == 0) cnt2++;if (ma[x] % 4 == 0) cnt4++;} else {if (ma[x] % 2 == 0) cnt2--;if (ma[x] % 4 == 0) cnt4--;ma[x]--;}if (cnt2 >= 4 && cnt4 >= 1)puts("YES");else puts("NO");}return 0;
}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部