2 条题解
-
5
全场除了 T6 之外最不需要动脑子的题
想要让 个数相加得到奇数,那这 个数字中的奇数一定有奇数个,那么先统计数列中奇数个数和偶数个数,再枚举是否存在满足要求的组合即可
#include<bits/stdc++.h> using namespace std; int a[1005]; int main(){ int t; cin>>t; for(int i=1;i<=t;i++){ int n,x,ji=0,ou=0,flag=0; cin>>n>>x; for(int j=1;j<=n;j++) cin>>a[j]; for(int j=1;j<=n;j++){ if(a[j]%2==0) ou++; else ji++; } for(int j=1;j<=x;j+=2){ //枚举奇数 if(j<=ji&&x-j<=ou){ flag=1; cout<<"YES"<<endl; break; } } if(flag==0) cout<<"NO"<<endl; } }
-
-5
#include<bits/stdc++.h> using namespace std; int a[1005]; int main(){ int t; cin>>t; for(int i=1;i<=t;i++){ int n,x,ji=0,ou=0,flag=0; cin>>n>>x; for(int j=1;j<=n;j++) cin>>a[j]; for(int j=1;j<=n;j++){ if(a[j]%2==0) ou++; else ji++; } for(int j=1;j<=x;j+=2){ //枚举奇数 if(j<=ji&&x-j<=ou){ flag=1; cout<<"YES"<<endl; break; } } if(flag==0) cout<<"NO"<<endl; } }
- 1
信息
- ID
- 761
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 8
- 标签
- 递交数
- 102
- 已通过
- 17
- 上传者