#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long int llint; typedef long double lldo; #define mp make_pair #define mt make_tuple #define pub push_back #define puf push_front #define pob pop_back #define pof pop_front #define fir first #define sec second #define res resize #define ins insert #define era erase //cout<void mineq(T& a,U b){if(a>b){a=b;}} template void maxeq(T& a,U b){if(a void SO(T& ve){sort(ve.begin(),ve.end());} template void REV(T& ve){reverse(ve.begin(),ve.end());} templateint LBI(vector&ar,T in){return lower_bound(ar.begin(),ar.end(),in)-ar.begin();} templateint UBI(vector&ar,T in){return upper_bound(ar.begin(),ar.end(),in)-ar.begin();} int main(void){ int Q,i;cin>>Q; int Tsize=100000; cerr<>>Stable; //4000 .12.5桁調整表(12つの数字)4000±3*10^-10までがT個 vector>>Mtable; //2000 .9 桁調整表(6つの数字)2000±10^-6までがT個 vector>>Ltable; //1000 .5.5 桁調整表(3つの数字)1000±3*10^-3までがT個 //各テーブルは、一つ下から作られる //それに加えて,最初の3つがランダム 1つが±10^-3 //合計25個 かなり余裕 //Ltable作る Ltable.reserve(Tsize); mt19937 engine(1333); lldo epL=0.001; lldo epM=0.000001; lldo epS=0.000000001; lldo epSS=eps/3000; //各段階で1000倍 余裕でしょう while(Ltable.size()Lcmax){continue;} //cerr<<"Lhab="<Lsor; Lsor[0]=La;Lsor[1]=Lb;Lsor[2]=Lc; Ltable.pub(mp(Lans,Lsor)); //cerr<<"ans="<Mkara; while(Mtable.size()Mcmax){continue;} int raM=engine()%(Mcmax+1-Mcmin); int Mc=Mcmin+raM; lldo Mans=Ltable[Mter].fir+Ltable[Mc].fir; arrayMsor; for(i=0;i<3;i++){Msor[i]=Ltable[Mter].sec[i];} for(i=0;i<3;i++){Msor[i+3]=Ltable[Mc].sec[i];} Mtable.pub(mp(Mans,Msor)); //if(Mtable.size()<100){cerr<<"ans="<Skara; arraySSkara; while(Stable.size()Scmax){continue;} int raS=engine()%(Scmax+1-Scmin); int Sc=Scmin+raS; lldo Sans=Mtable[Ster].fir+Mtable[Sc].fir; arraySsor; for(i=0;i<6;i++){Ssor[i]=Mtable[Ster].sec[i];} for(i=0;i<6;i++){Ssor[i+6]=Mtable[Sc].sec[i];} Stable.pub(mp(Sans,Ssor)); //if(Stable.size()<100){cerr<<"ans="<>P; cout<<22<<" ";//22個使う int hazi=(P-7000)*(P-7000) +0.5; P-=sqrt(hazi); cout<