A. Sum of Odd Integers(水题)

题意:输入t个测试,每个测试输入n,k;判断n是否能使用k个不相同的奇数表示出来。

最开始想得太复杂,分了好多种情况,写了很多没用的代码。

 题解:应该想什么样的数才能被表示出来:

  • 奇偶对应(n为奇数,k也应该是奇数)
  • n>=k*k(当不满足这个条件时,是找不到k个奇数的和等于n的)

有了这两个条件,代码就可以写出来了!

ACcode:

int main()
{
int t;
cin >> t;
while (t--)
{
ll n, k;
cin >> n >> k;
if((n%2==k%2) && (n >= k * k))
cout << "YES" << endl;
else cout << "NO" << endl;
}
return 0;
}

posted @ 2021-05-04 13:28  Uiney  阅读(48)  评论(0编辑  收藏  举报