笔记:如题
简化代码:
int n,k;
cin>>n>>k;
int a=n-(k-1),b=n-(k-1)*2;
//这是先将除最后一个数之外的数放上1或2
if(a%2&&a>0)//如果满足该条件说明n可以被分成k个奇数
{
cout<<"YES"<<endl;
for(int i=1;i<k;i++)
cout<<"1 ";
cout<<a<<endl;
}
else if(b%2==0&&b>0)//如果满足该条件说明n可以被分成k个偶数
{
cout<<"YES"<<endl;
for(int i=1;i<k;i++)
cout<<"2 "';
cout<<b<<endl;
}
else//如果上面两个条件都不能满足则n必不能被分成k个同奇偶的数
{
cout<<"NO"<<endl;
}
相关题目:
Codeforces Round #640 (Div. 4) B — Same Parity Summands