专栏文章
原神-策略
个人记录参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @mink86w6
- 此快照首次捕获于
- 2025/12/02 03:46 3 个月前
- 此快照最后确认于
- 2025/12/02 03:46 3 个月前
题目大意
给定一个集合 ,从集合 中删去一个数 ,将集合 中剩下的元素分成两个不同的子集 且这两个子集都不是空集。问: 是否成立。
思路:
根据题意我们可以得出:
那我们不妨设
那我们不妨设
假设 为偶数,那么 一定也为偶数。又因为集合 中一定存在一个奇数,但是不管是奇数个偶数+奇数还是偶数个偶数+奇数结果一定是奇数,故假设不成立。
所以 一定是奇数,那么一定也为奇数。又因为不管奇数还是偶数个偶数相加结果一定为偶数,所以集合 的元素一定都是奇数。又因为奇数和奇数相加为奇数,偶数个奇数相加为偶数,所以集合 的元素个数为奇数。
所以我们只需要判断集合 的元素个数和元素之和是否都是奇数,如果同时满足则可以,输出 ;否则输出 。
代码:
CPP#include <bits/stdc++.h>
using namespace std;
int x;
int cnt, sum;
// cnt:计算元素个数,sum:计算元素之和
int main() {
while (cin >> x) {
if (x != -1) cnt ++;
if (x != -1) sum += x;
}
// 判断是否满足条件:元素个数和元素之和都是奇数
if (cnt % 2 == 0 || sum % 2 == 0) cout << "No";
else if (cnt % 2 != 0 && sum % 2 != 0)cout << "Yes";
return 0;
}
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...