/* * bruteforce solution by bit DP */ #include #define ALL(v) std::begin(v),std::end(v) using lint=long long; using ld=long double; templateusing numr=std::numeric_limits; struct input_t{templateoperator T(){T t;std::cin>>t;return t;}}input; templateauto mkvec(std::size_t sz,Args...args){ if constexpr(N==1)return std::vector(sz,args...); else return std::vector(sz,mkvec(args...)); } int main(){ std::cin.tie(nullptr);std::ios_base::sync_with_stdio(false); std::cout.setf(std::ios_base::fixed);std::cout.precision(15); lint n=input,m=input,K=input; assert(n<=25); lint N=1ll<>pt(n); for(auto&&p:pt)std::cin>>p.first>>p.second; ld inf=numr::infinity(); auto adj=mkvec<2,ld>(n,n,inf); for(lint i=0;i(N,n,K,inf); dp.at(1ll<>i&1ll){ for(lint k=0;k>j&1ll)){ ld d=adj.at(i).at(j); if(d==inf)continue; insert(dp.at(bs|1ll<ans; for(lint bs=1ll<