上过小学二年级的朋友都能推出pi+qi=n-ei*di+2。
这里我们二分查询一下1到上面一坨就可以了。我想我没必要再讲二分算法的思路
#include<bits/stdc++.h>usingnamespacestd;intk;intmain(){cin>>k;while(k--){longlongn,e,d;cin>>n>>d>>e;longlongs=n-e*d+2;longlongw=s/2;longlongl=1,r=w;boolf=0;while(l<=r){longlongmid=(r+l)/2;longlongt=mid*(s-mid);if(t==n){cout<<mid<<" "<<s-mid<<endl;f=1;break;}elseif(t>n){r=mid-1;}else{l=mid+1;}}if(!f)cout<<"NO"<<endl;}return0;}有点粗糙,但我只能这样勉强完成作业