🎆音乐分享
一道细节满满的题
#include<iostream>
using namespace std;
int main()
{
int tt;
cin >> tt;
while (tt--)
{
int n;
cin >> n;
n--;
int idx = 2;//B的初始为2
int a[2]{1,0};
int flag = 1;
while (n)
{
if (idx <= n)
n -= idx, a[flag] += idx++;//n-=idx 这个操作 妙
else
{
a[flag] += n,n = 0 ;
break;
}
if (idx <= n)
n -= idx, a[flag] += idx++;//连续相加2次
else
{
a[flag] += n,n = 0;
break;
}
flag == 1?flag=0:flag=1;//比如B加完,换成A加
}
cout << a[0] <<" " << a[1] << endl;//注意输出顺序
}
}
这道题还是思路有问题
上面的代码是按下标来操作的,连续加两次
Code over!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/131391.html