1 #include<iostream>
2
using
namespace std;
3
char map[
255][
255];
4
int n,m;
5
void fill(
char map[
255][
255],
int x,
int y,
int cold,
int cnew)
//
命令F(搜索)
6
{
7
if(cold==cnew)
return ;
8 map[y][x]=cnew;
9
if(x>
1)
10
if(map[y][x-
1]==cold)
11 fill(map,x-
1,y,cold,cnew);
12
if(x<m)
13
if(map[y][x+
1]==cold)
14 fill(map,x+
1,y,cold,cnew);
15
if(y>
1)
16
if(map[y-
1][x]==cold)
17 fill(map,x,y-
1,cold,cnew);
18
if(y<n)
19
if(map[y+
1][x]==cold)
20 fill(map,x,y+
1,cold,cnew);
21 }
22
int main()
23 {
24
int i,j,x1,y1,x2,y2,t;
25
char name[
10],ch,cor;
26
while(cin>>ch)
27 {
28
if(ch==
'
X
')
break;
29
else
if(ch==
'
I
')
30 {
31 cin>>m>>n;
32
for(i=
1;i<=n;i++)
33
for(j=
1;j<=m;j++)
34 map[i][j]=
'
O
';
35 }
36
else
if(ch==
'
C
')
37 {
38
for(i=
1;i<=n;i++)
39
for(j=
1;j<=m;j++)
40 map[i][j]=
'
O
';
41 }
42
else
if(ch==
'
L
')
43 {
44 cin>>x1>>y1>>cor;
45
if(y1<=n&&x1<=m)
46 map[y1][x1]=cor;
47 }
48
else
if(ch==
'
V
')
49 {
50 cin>>x1>>y1>>y2>>cor;
51
if(y1>y2) { t=y1; y1=y2; y2=t; }
52
for(i=y1;i<=y2;i++)
53 map[i][x1]=cor;
54 }
55
else
if(ch==
'
H
')
56 {
57 cin>>x1>>x2>>y1>>cor;
58
if(x1>x2) { t=x1; x1=x2; x2=t; }
59
for(i=x1;i<=x2;i++)
60 map[y1][i]=cor;
61 }
62
else
if(ch==
'
K
')
63 {
64 cin>>x1>>y1>>x2>>y2>>cor;
65
if(x1>x2) { t=x1; x1=x2; x2=t;}
66
if(y1>y2) { t=y1; y1=y2; y2=t;}
67
for(i=y1;i<=y2;i++)
68
for(j=x1;j<=x2;j++)
69 map[i][j]=cor;
70 }
71
else
if(ch==
'
F
')
72 {
73 cin>>x1>>y1>>cor;
74 fill(map,x1,y1,map[y1][x1],cor);
75 }
76
else
if(ch==
'
S
')
77 {
78 cin>>name;
79 cout<<name<<endl;
80
for(i=
1;i<=n;i++)
81 {
82
for(j=
1;j<=m;j++)
83 cout<<map[i][j];
84 cout<<endl;
85 }
86 }
87 }
88
return
0;
89 }