//6870
#include <stdio.h>
#include <vector>
using namespace std;
int n, m;
char nemonemologic[35][35];
vector<int> row[35], col[35];
void f(int r, int ptr) {
if(r>n) {
return;
}
int ptr, len=0, cnt[35]={}; //len : 채워진 것 개수, cnt : 채워진 쌍
for(ptr=1; nemonemologic[r][ptr]&&ptr<=m; ptr++) {
if(nemonemologic[r][ptr]=='*') cnt[len]++;
else len++;
}
if(ptr>m) f(r+1, 1);
for(int j=len; j<row[r].size(); j++) {
for(int k=0; k<row[r][j]-cnt[j]; k++) {
if(nemonemologic[r][ptr]=='.') return;
nemonemologic[r][ptr++]='*';
}
if(nemonemologic[r][ptr]=='*') return;
nemonemologic[r][ptr++]='.';
}
}
int main() {
scanf("%d %d", &n, &m);
for(int i=1; i<=n; i++) {
int sum=0;
while(1) {
int a;
scanf("%d", &a);
if(!a) break;
row[i].push_back(a);
sum+=a;
}
if(sum==0) {
for(int j=1; j<=m; j++) nemonemologic[i][j]='.';
}
else if(sum+row[i].size()-1==m) {
int ptr=1;
for(int j=0; j<row[i].size(); j++) {
int k=row[i][j];
while(k) {
nemonemologic[i][ptr++]='*';
k--;
}
nemonemologic[i][ptr++]='.';
}
}
else if(row[i].size()==1 && sum>m/2) {
for(int j=1; j<=sum; j++) {
if(1<=m-j+1&&m-j+1<=sum) nemonemologic[i][m-j+1]='*';
}
}
}
for(int i=1; i<=m; i++) {
int sum=0;
while(1) {
int a;
scanf("%d", &a);
if(!a) break;
col[i].push_back(a);
sum+=a;
}
if(sum==0) {
for(int j=1; j<=m; j++) nemonemologic[j][i]='.';
}
else if(sum+col[i].size()-1==n) {
int ptr=1;
for(int j=0; j<col[i].size(); j++) {
int k=col[i][j];
while(k) {
nemonemologic[ptr++][i]='*';
k--;
}
nemonemologic[ptr++][i]='.';
}
}
else if(col[i].size()==1 && sum>n/2) {
for(int j=1; j<=sum; j++) {
if(1<=n-j+1&&n-j+1<=sum) {
//printf("(%d,%d|%d)\n", i, j, n-j+1);
nemonemologic[n-j+1][i]='*';
}
}
}
}
f(1, 1);
for(int i=1; i<=n; i++) {
printf("%d : ",i);
for(int j=1; j<=m; j++) {
if(nemonemologic[i][j]=='\0') printf("_");
else printf("%c", nemonemologic[i][j]);
}
puts("");
}
}
/*
//input
[1]
4
4
2 1 0
3 0
3 0
1 1 0
4 0
3 0
3 0
1 0
[2]
4
7
2 2 0
5 0
5 0
2 2 0
1 1 0
1 1 0
2 0
2 0
4 0
4 0
2 0
*/
Pour intégrer ce projet à votre site web, copiez le code suivant et collez-le dans le HTML de votre site web :