Change background image
Chuyên Tin - Lê Khiết

Go downThông điệp [Trang 1 trong tổng số 1 trang]

© FMvi.vn

Fri Aug 31, 2012 9:39 pm
Admin
Admin
Admin

Code - Huyền Thoại

Trên mặt phẳng tạo độ Oxy cho 1 số hcn mà các cạnh của nó song song với trục tọa độ . Các hcn này có thể chồng lên nhau , mỗi hcn được xác định bởi tọa độ góc trái dưới và góc phải trên của nó , giả sử các tọa độ này là các số nguyên .
Hãy tính tổng độ dài của đường biên của hcn i(1..n) các số trên dòng cách nhau 1 khoảng trắng
INP
6
1 2 3 6
3 5 6 7
5 2 6 6
2 3 6 4
7 3 10 8
8 5 9 7

OUT
44

Code:
Const fi='INP.inp';  fo='OUT.out';
Var A:array[0..101,0..101] Of Integer;
    min,min1,max,max1,n:Integer;
    f,g:text;
Procedure doctep;
 Var i,j:Integer;
    k,l,x,y,x1,y1:Integer;
  Begin
  max1:=0;
  max:=0;
  min:=maxint;
  min1:=maxint;
  Assign(f,fi);
  Reset(F);
  Readln(f,n);
  Fillchar(a,sizeof(a),0);
  For i:=1 to n do
    Begin
    Readln(f,x,y,x1,y1);
    If x < min then min:=x;
    If y < min1 then min1:=y;
    If x1 > max then max:=x1;
    If y1 > max1 then max1:=y1;
    For k:=x+1 to x1 do
      For l:=y+1 to y1 do
      a[k,l]:=1;
    End;
  dec(min);
  dec(min1);
  inc(max);
  inc(max1);
  Close(f);
  Assign(g,fo);
  Rewrite(G);
  End;
Function tinh(x,y:Integer):Integer;
 Var t:Integer;
  Begin
  t:=0;
  If a[x-1,y]=0 then inc(t);
  If a[x,y-1]=0 then inc(t);
  If a[x,y+1]=0 then inc(t);
  If a[x+1,y]=0 then inc(t);
  tinh:=t;
  End;
Procedure xuly;
 Var p,i,j:Integer;
  Begin
  p:=0;
  For i:=min to max do
    For j:=min1 to max1 do
    If a[i,j]=1 then
      p:=p+tinh(i,j);
  Writeln(g,p:4);
  End;
Begin
 doctep;
 xuly;
 Close(g);
End.
Link : [You must be registered and logged in to see this link.]
https://chuyentinlk.123.st

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Admin
Trả lời nhanh

Về Đầu TrangThông điệp [Trang 1 trong tổng số 1 trang]

  © FMvi.vn

|_-Diễn Đàn Tin Học - Lê Khiết-_|

« Xem bài trước | Xem bài kế tiếp »

Bài viết liên quan

    Quyền hạn của bạn:

    Bạn không có quyền trả lời bài viết