UVA1426-Add Bricks in The Wall

来源:互联网 发布:linux挂载ntfs 只读 编辑:程序博客网 时间:2024/05/16 15:34

需要简单的分析一下,上两层的值可以通过隔一层来判断。

#include<iostream>#include<cstring>#include<cstdio>#include<math.h>#include<vector>#include<algorithm>#include<queue>#include<set>using namespace std;int a[11][11];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",&a[i][j]);        for(int i=9;i>=2;i--){            if(i%2==1){            for(int j=2;j<=i-1;j+=2)            a[i][j]=(a[i-2][j-1]-a[i][j-1]-a[i][j+1])/2;            }            else{            for(int j=1;j<=i;j++)            a[i][j]=a[i+1][j]+a[i+1][j+1];            }        }        for(int ii=1;ii<=9;ii++){            for(int jj=1;jj<=ii;jj++)            printf(jj!=ii?"%d ":"%d\n",a[ii][jj]);        }    }    return 0;}


0 0