题意:
给你一个残缺的塔,每个数字由他下面左右两个数相加得。给你其中一部分,要求输出全部的数字。
#include#include #include #include using namespace std;const int maxn = 25;int tmap[25][25];int main(){ int T; scanf("%d",&T); while(T--) { for(int i = 1; i <= 9; i+=2) for(int j = 1; j <= i; j+=2) { scanf("%d",&tmap[i][j]); } for(int i = 3; i <= 9; i += 2) for(int j= 2; j <= i; j+=2) { tmap[i][j] = tmap[i-2][j-1] - tmap[i][j-1]-tmap[i][j+1]; tmap[i][j] /= 2; } for(int i= 2; i <= 9; i += 2) for(int j = 1; j <= i; j++) { tmap[i][j]= tmap[i+1][j] + tmap[i+1][j+1]; } for(int i = 1; i <= 9; i++) { printf("%d",tmap[i][1]); for(int j = 2; j <=i; j++) { printf(" %d",tmap[i][j]); } printf("\n"); } } return 0;}