标签:pos padding sam ora turn 大数 flow roi 20px
以为是分治法那个经典的样例。一看题才知道是大数
描写叙述
在一个2k×2k(1<=k<=100)的棋盘中恰有一方格被覆盖。如图1(k=2时),现用一缺角的2×2方格(图2为当中缺右下角的一个)。去覆盖2k×2k未被覆盖过的方格。求须要类似图2方格总的个数s。
如k=1时,s=1;k=2时。s=5
输入
第一行m表示有m组測试数据;
每一组測试数据的第一行有一个整数数k;
输出
输出所需个数s;
例子输入
3 1 2 3
例子输出
1 5 21
#include <iostream> #include <cstring> using namespace std; int main() { int n,m,i,j,k,t,ans[101][61]; memset(ans,0,sizeof(ans)); ans[1][0]=4; for(i=2;i<101;i++) { k=0; for(j=0;j<61;j++) { t=ans[i-1][j]*4+k; ans[i][j]=t%10; k=t/10; } } for(i=1;i<101;i++) { j=60; while(0==ans[i][j]) j--; k=0; for(;j>=0;j--) { t=ans[i][j]+k*10; ans[i][j]=t/3; k=t%3; } } cin>>n; while(n--) { cin>>m; j=60; while(0==ans[m][j]) j--; while(j>=0) cout<<ans[m][j--]; cout<<endl; } return 0; }
标签:pos padding sam ora turn 大数 flow roi 20px
原文地址:http://www.cnblogs.com/lxjshuju/p/7073632.html