P11007 『STA - R7』Odtlcsu 题解

· · 题解

关联内容

题目链接
AC记录

题目分析

奇数的平方一定为奇数,偶数的平方一定为偶数。

显然,我们只需要假设有 y 个 1,并考虑将每个 1 修改为 -1 的贡献为 2。所以,我们只需要改 (y-x)\div2 个 -1 即可。

代码实现

根据题目分析写出代码即可。

AC代码

#include<bits/stdc++.h>
using namespace std;
int main(){
    int n,k;
    cin>>n>>k;
    cout<<k<<"\n"; //种类数
    int a=abs(k-n)/2;
    for(int i=1;i<=a;i++){ //a个-1
        cout<<"-1 ";
    }
    for(int i=1;i<=k-a;i++){ //其余全部为1
        cout<<"1 ";
    }
    return 0;
}