洛谷暂未开放题解通道,但是赞可以先点起来(逃
[链接登录后可见]
经过观察得出:当x,y不为0时,答案是\lfloor\frac{k}{x}\rfloor和\lfloor\frac{k}{y}\rfloor(设为cc和ee)中的较小值
不妨设x>y,有cc<ee
证明:
由于cc是有效的落叶个数,答案不可能比它大
同时对于每个i,有C_i+E_{ee+1-i}≥k,可以构造这样的操作方式
代码:
#include<iostream>
using namespace std;
#define ll long long//不开ll___
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin>>t;
for(register int iii=0;iii!=t;++iii){
unsigned ll x,y,k;
cin>>x>>y>>k;
if(x==0||y==0){//特判
if(x==0&&y==0)cout<<"0";
else if(x==0&&k%y==0)cout<<"1";
else if(y==0&&k%x==0)cout<<"1";
else cout<<"0";
}
else{
x=k/x;
y=k/y;
if(x<y)cout<<x;
else cout<<y;
}
cout<<'\n';
}
return 0;
}//赛时AC 26ms