• 个人简介

    #include<bits/stdc++.h>
    using namespace std;
    char z[4][4],m[10];
    int v[1000][1000],ans;
    void dfs(int x,int y,int a,int b){
    	if(a==0){
    		v[x][y]=b;
    		return ;
    	}
    	int t=pow(3,a-1);
    	int cnt=1;
    	for(int i=1;i<=3;i++){
    		for(int j=1;j<=3;j++){
    			if(z[i][j]=='1')dfs(x+(i-1)*t,y+(j-1)*t,a-1,cnt);
    			cnt++;
    		}
    	}
    }
    int main(){
    	ios::sync_with_stdio(0);
    	cin.tie(0);
    	cout.tie(0);
    	int a;
    	for(int i=1;i<=3;i++){
    		for(int j=1;j<=3;j++){
    			cin>>z[i][j];
    			if(z[i][j]=='1')ans++;
    		}
    	}for(int j=1;j<=ans;j++){
    		cin>>m[j];
    	}
    	cin>>a;
    	dfs(1,1,a,1);
    	for(int i=1;i<=pow(3,a);i++){
    		for(int j=1;j<=pow(3,a);j++){
    			if(v[i][j])cout<<m[v[i][j]];
    			else cout<<" ";
    		}cout<<endl;
    	}
    	return 0;
    }