首页 > 代码库 > nyoj 45 棋盘覆盖
nyoj 45 棋盘覆盖
棋盘覆盖
时间限制:3000 ms | 内存限制:65535 KB
难度:3
- 描述
在一个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<stdio.h> int main() { int m; scanf("%d",&m); while(m--) { int a[100]={0},k,len=1,jw=0,temp,i,j; a[1]=1; scanf("%d",&k); for(i=1;i<=k;i++)//保存大数 { jw=0; for(j=1;j<=len;j++) { temp=a[j]*4+jw; a[j]=temp%10; jw=temp/10; if(j==len && jw!=0) len++; } } temp=0; for(i=len;i>=1;i--)//计算结果 { temp=temp*10+a[i]; a[i]=temp/3; temp=temp%3; } while(a[len]==0) len--; for(i=len;i>=1;i--) printf("%d",a[i]); printf("\n"); } return 0; }
nyoj 45 棋盘覆盖
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。