2113:【24CSPJ普及组】小木棍(sticks)
#include <iostream> using namespace std; long long m=10000000000000; bool b=false; void j(long long d,int l){ if(l==0){ if(d<m){ m=d; b=true; } }else{ if(d!=0){ j(d*10+0,l-6); } if(d==2){ j(d*10+1,l-2); } if(d==5){ j(d*10+2,l-5); j(d*10+3,l-5); } j(d*10+4,l-4); j(d*10+5,l-5); j(d*10+6,l-6); j(d*10+7,l-3); j(d*10+8,l-7); j(d*10+9,l-6); } } int main(int argc, char** argv) { int n; cin>>n; j(0,n); cout<<m; return 0; }

浙公网安备 33010602011771号