坑点!
由于m是double类型,double类型-1要保证精度问题,应该要减一个很小的数
#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
int main()
{
cin.tie(0),cout.tie(0);
int t;
cin>>t;
while(t--)
{
int n;
double m;
cin>>n>>m;
ll res=0;
ll red=0,green=0;
while(n)
{
red+=n*100;
green+=min((double)10000,n*100*(m-0.999999999));
res+=red/10+green/10;
n=red/200;
red=0,green=0;
}
cout<<res<<'\n';
}
}