没次用木棒搭金字塔,然后其他都弄最小的金字塔 核心代码
s=6,cnt=0; while(n>=s) { n-=s; cnt++; s*=3; } cout<<cnt+n/6<<" "<<n%6<<"\n";
最大的是全 1 最小的是先全弄2,多余的弄1 但是注意要先输出1,再输出2
首先最大的能取到 \sqrt{n} ,然后从上往下搜索(这很重要),搜到最小多少个。 然后再搜一遍,计入方案,然后记得这里要倒序,然后排序,搞定
%%%orz