题意:姐姐从4岁开始放蜡烛,并且每年放的个数为岁数大小,而弟弟从3岁开始。给出姐姐和弟弟的年龄差距,姐姐的蜡烛个数,弟弟的蜡烛个数。由于弟弟把一些蜡烛放入了姐姐的盒子里,要求输出姐姐需要拿走多少蜡烛才能获得正确的蜡烛个数。
感受:打比赛时思维不清晰,导致思维定势,只认为一年只放1个,怎么想也想不对。所以以后思维要更加活跃。
#include<iostream>
using namespace std;
int main()
{
int d,r,t,sum,brother,sister;
while(cin>>d>>r>>t)
{
sum=r+t;
for(int i=4;; i++) //暴力搜索姐姐的年龄
{
sister=i*(i+1)/2-6; //姐姐的蜡烛个数
brother=(i-d)*(i-d+1)/2-3;//弟弟的蜡烛个数
//if(brother<0) //不加也能过。。
// brother=0;
//for(int j=3; j<=i-d; j++)//也可以这样写弟弟的蜡烛个数
// brother+=j;
if((sister+brother)==sum)//如果姐姐的加上弟弟的等于sum的话,说明符合条件了
{
cout<<r-sister<<endl;//输出一开始姐姐的蜡烛个数减去现在姐姐的蜡烛个数,即为要remove的蜡烛个数
break;
}
}
}
return 0;
}