2008noip普及组复赛解题报告
来源:百度知道 编辑:UC知道 时间:2024/06/05 03:12:49
第四题(pascal)
四、立体图
Pku原题,编号2330
算不上难题,但是比较麻烦,细心点就ok了。
先计算好画布的大小,再写一个根据左下角坐标绘制一个单位立方体的子程序。
然后遵循下面法则,不停绘制若干个立方体。(此处能体现出分割程序的伟大)
因为要不停的覆盖,所以要遵循“视觉法则”:
1. 先绘里层再绘外层
2. 先绘底层再绘上层
3. 先回左边再绘右边
参考程序:
program drawing;
const
inp='drawing.in';
oup='drawing.out';
var
m,n,i,j,k,x,y,h,tmp,maxx,maxy:longint;
map:array[1..1000,1..1000] of char;//画布
a:array[1..50,1..50] of integer;//记录输入的矩阵
procedure flink;
begin
assign(input,inp);
reset(input);
assign(output,oup);
rewrite(output);
end;
procedure fclose;
begin
close(input);
close(output);
end;
procedure print;//输出画布
var
i,j:longint;