习题10-1 砌砖 UVa11040
来源:互联网 发布:meta分析软件下载 编辑:程序博客网 时间:2024/05/16 10:09
1.题目描述:点击打开链接
2.解题思路:找规律题。通过观察易得到如下递推式:(a[i][j]表示第i层,第j个位置的砖的数字)
(1) a[i+2][j+1]=(a[i][j]-a[i+2][j]-a[i+2][j+2])/2;
(2) a[i+1][j]=a[i+2][j+1]+a[i+2][j];
(3) a[i+1][j+1]=a[i+2][j+1]+a[i+2][j+2];
3.代码:
#define _CRT_SECURE_NO_WARNINGS #include<iostream>#include<algorithm>#include<string>#include<sstream>#include<set>#include<vector>#include<stack>#include<map>#include<queue>#include<deque>#include<cstdlib>#include<cstdio>#include<cstring>#include<cmath>#include<ctime>#include<functional>using namespace std;#define N 9int a[N][N];int main(){//freopen("test.txt", "r", stdin);int t;cin >> t;while (t--){memset(a, 0, sizeof(a));for (int i = 0; i < 9; i+=2)for (int j = 0; j < i + 1; j += 2)cin >> a[i][j];for (int i = 6; i >= 0; i-=2){for (int j = 0; j < i + 1; j += 2){a[i + 2][j + 1] = (a[i][j] - a[i + 2][j] - a[i + 2][j + 2]) / 2;a[i + 1][j] = a[i + 2][j + 1] + a[i + 2][j];a[i + 1][j + 1] = a[i + 2][j + 1] + a[i + 2][j + 2];}}for (int i = 0; i < 9;i++)for (int j = 0; j < i + 1; j++)printf("%d%c", a[i][j], j == i ? '\n' : ' ');}return 0;}
0 0
- 习题10-1 砌砖 UVa11040
- 习题10-1 11040 Add bricks in the wall 砌砖
- uva11040
- 【算法题】砌砖块
- 习题1-10,年份
- 修炼专业技能就是砌砖头
- c程序设计语言习题1-10
- Python练习10----习题1
- UVa11040 - Add bricks in the wall
- UVA11040 - Add bricks in the wall
- 习题10
- 习题1
- 习题1
- 习题-1
- 习题1
- 习题1
- 习题1
- 习题1
- c语言中time.h用法详解
- mysql datatype
- 13.尼姆达病毒分析
- UVa 1153 - Keep the Customer Satisfied(贪心)
- 14.局域网防范蠕虫病毒的注意事项
- 习题10-1 砌砖 UVa11040
- gFStu插件
- Linux-Java开发环境搭建
- 【Foundation】17-字符串NSString和NSMutableString
- Arthur and Questions - CodeForces 518 E
- 刚无意间看到一个网站,页面挺简洁,就是网站里面没啥内容
- JAVASE--集合、I/O流
- java学习之File类--2015-2-26
- 程序性能优化探讨(6)——矩阵乘法优化之分块矩阵