Olympiad in Informatics Beginners' Home's Archiver

wucunzai 发表于 2008-11-20 01:13 PM

第4题,大家都把自己的程序贴出来吧

其他题也可以发,大家互相学习一下

wucunzai 发表于 2008-11-20 01:13 PM

PROGRAM E;
VAR
  A:ARRAY[1..100,1..100] OF INTEGER;
  B:ARRAY[1..500,1..500] OF CHAR;
  M,N,I,J,K,X,Y,MAXM,MINM,MAXN,MINN:INTEGER;
PROCEDURE GAY(Q,W:INTEGER);
BEGIN
  B[Q,W]:='+';B[Q,W+1]:='-';B[Q,W+2]:='-';B[Q,W+3]:='-';B[Q,W+4]:='+';
  B[Q+1,W]:='|';B[Q+1,W+1]:=' ';B[Q+1,W+2]:=' ';B[Q+1,W+3]:=' ';B[Q+1,W+4]:='|';B[Q+1,W+5]:='/';
  B[Q+2,W]:='|';B[Q+2,W+1]:=' ';B[Q+2,W+2]:=' ';B[Q+2,W+3]:=' ';B[Q+2,W+4]:='|';B[Q+2,W+5]:=' ';B[Q+2,W+6]:='+';
  B[Q+3,W]:='+';B[Q+3,W+1]:='-';B[Q+3,W+2]:='-';B[Q+3,W+3]:='-';B[Q+3,W+4]:='+';B[Q+3,W+5]:=' ';B[Q+3,W+6]:='|';
  B[Q+4,W+1]:='/';B[Q+4,W+2]:=' ';B[Q+4,W+3]:=' ';B[Q+4,W+4]:=' ';B[Q+4,W+5]:='/';B[Q+4,W+6]:='|';
  B[Q+5,W+2]:='+';B[Q+5,W+3]:='-';B[Q+5,W+4]:='-';B[Q+5,W+5]:='-';B[Q+5,W+6]:='+';
END;
BEGIN
  READ(M,N);
  MAXM:=-5;
  MAXN:=-6;
  MINM:=500;
  MINN:=500;
  FOR I:=1 TO 500 DO
    FOR J:=1 TO 500 DO B[I,J]:='.';
  FOR I:=1 TO M DO
    FOR J:=1 TO N DO
      READ(A[I,J]);
  FOR I:=M DOWNTO 1 DO
    FOR J:=1 TO N DO
      FOR K:=1 TO A[I,J] DO BEGIN
        Y:=I*2+K*3-4;
        X:=I*2+J*4-5;
        IF Y>MAXM THEN MAXM:=Y;
        IF Y<MINM THEN MINM:=Y;
        IF X>MAXN THEN MAXN:=X;
        IF X<MINN THEN MINN:=X;
        GAY(Y,X);
      END;
  FOR I:=MAXM+5 DOWNTO MINM DO BEGIN
    FOR J:=MINN TO MAXN+6 DO WRITE(B[I,J]);
    WRITELN;
  END;
END.

先贴一个
简易标程,不保证准确率
BY SHEEP

页: [1]


Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.