比赛 |
20120705 |
评测结果 |
AAAEEEEEEE |
题目名称 |
绘画 |
最终得分 |
30 |
用户昵称 |
QhelDIV |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-07-05 11:52:33 |
显示代码纯文本
#include <fstream>
using namespace std;
ifstream fin("drawing.in");
ofstream fout("drawing.out");
int N,K,M,Pn,Sn,Ln,Map[200][200],S[200][101][101];
class PAINT
{
public:
int c,x1,x2,y1,y2;
void read()
{
fin>>c>>x1>>y1>>x2>>y2;
}
}P[1000];
void Solve()
{
int i,j,k,x1,x2,y1,y2,Co;string C;
fin>>N>>K>>M;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
Map[i][j]=1;
for(i=1;i<=M;i++)
{
fin>>C;
if(C=="PAINT")
{
++Pn;
P[Pn].read();
for(j=P[Pn].y1;j<=P[Pn].y2;j++)
for(k=P[Pn].x1;k<=P[Pn].x2;k++)
if((j+k-P[Pn].y1-P[Pn].x1+2)%2==0)
Map[k][j]=P[Pn].c;
}
if(C=="SAVE")
{
Sn++;
for(j=0;j<N;j++)
for(k=0;k<N;k++)
S[Sn][j][k]=Map[j][k];
}
if(C=="LOAD")
{
fin>>x1;
for(j=0;j<N;j++)
for(k=0;k<N;k++)
Map[j][k]=S[x1][j][k];
}
}
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
fout<<Map[i][j]<<" ";
fout<<endl;
}
}
int main()
{
Solve();
fin.close();
fout.close();
return 0;
}