#include<iostream>#include<algorithm>#include<string.h>usingnamespace std;int a[20][11], b[5][5], d[16][6];intmain(){for(int i =1; i <=15;++i)for(int j =1; j <=10;++j)
cin>>a[i][j];getchar();for(int i =1; i <=10;++i)
a[16][i]=1;for(int i =1; i <=4;++i)for(int j =1; j <=4;++j)
cin>>b[i][j];int n;
cin>>n;int tmp;for(int i =5; i <=16;++i){//先行后列!!!!!for(int k =4; k >=1;--k){for(int j = n ; j <= n +3;++j){if(a[i][j]==1&& b[k][j-n+1]==1){//碰到了
tmp = k;//处理,可以自己对着示例理解一下为什么规律是这样for(int kk =1; kk <= k ;++kk){for(int k1 =1;k1 <=4;++k1){if(b[kk][k1]==1)
a[i-tmp][k1+n-1]=1;}
tmp--;}
tmp =0;for(int kk = k+1; kk <=4;++kk){for(int k1 =1; k1 <=4;++k1){if(b[kk][k1]==1)
a[i+tmp][k1+n-1]=1;}
tmp++;}
i =17;//退出循环
j = n +4;
k =0;break;}}}}for(int i =1; i <=15;++i){for(int j =1; j <=10;++j){if(j ==1)
cout<<a[i][j];else
cout<<" "<<a[i][j];}
cout<<endl;}}