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

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

© FMvi.vn

Tue Feb 07, 2012 10:25 pm
hung2xpro

Tập Code

Bài 1 : (5 điểm ) Số độ cao h
Độ cao của một số tự nhiên là tổng các chữ số của số đó . Cho số tự nhiên N ( n<10^9) , số tự nhiên h ( h<100) . Đếm số lượng tất cả các số bé hơn N sao cho số đó có độ cao bằng h .
- Dữ liệu vào : DOCAO.INP : - Gồm 1 dòng ghi số N và h.
- Dữ liệu ra : DOCAO.OUT : - Gồm 1 số là số lượng các số bé hơn N có độ cao bằng h .
vd:
DOCAO.INP
100 8
DOCAO.OUT
9
_____________________________________________________________

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà hung2xpro
Trả lời nhanh
Tue Feb 07, 2012 10:26 pm
hung2xpro

Tập Code

Bài 2 : ( 6 điểm ) Lưới
Cho lưới ô vuông gồm N dòng M cột . Trong mỗi ô của lưới chỉ chứa số 0 hoặc 1 . Một ô vuông ở dòng x cột y kí hiệu là (x,y) . Từ 1 ô vuông có thể di chuyển sang 4 ô vuông chung cạnh . Một vùng là tập hợp các ô kề cạnh với nhau và có giá trị bằng nhau . Cho trước 2 ô (x1,y1) và (x2,y2) . Hãy cho biết hai ô đã cho có thuộc cùng một vùng hay không ?
Dữ liệu vào : LUOI.INP
- Dòng 1 L Ghi 2 số N , M . (1<=N , M<=100) .
- Dòng 2 : Ghi 4 số x1,y1,x2,y2 . (1<=x1,x2<=N ; 1<=y1,y2<=M)
Dữ liệu ra : LUOI.OUT
- Gồm 1 dòng : Ghi Yes nếu 2 ô (x1,y1) và (x2,y2) cùng thuộc 1 vùng .
Ghi No nếu 2 ô (x1,y1) và (x2,y2) không thuộc 1 vùng .
Vd: LUOI.INP

5 7
1 1 3 2
1 1 1 1 1 1 1
1 1 0 0 1 0 0
1 1 1 0 0 0 1
1 0 0 0 1 0 1
1 0 1 1 1 0 1

LUOI.OUT

Yes
Link tải bài giải : [You must be registered and logged in to see this link.]
__________________________________________________________________
Code:
]Program Bai1;
 Const fi = 'luoi.inp';
      fo = 'luoi.out';
      Vx : Array [1..4] Of Integer = (-1,1,0,0);
      Vy : Array [1..4] Of Integer = (0,0,1,-1);
 Var    A : Array [1..100,1..100] Of Integer;
    kx,ky : Array [1..100] Of Integer;
d,i,j,n,m : Integer;
c,q,w,e,r : Integer;
      f,g : Text;
Procedure doctep;
 Var  i,j : Integer;
  Begin
  Assign(f,fi);
  Reset(f);
  Readln(f,n,m);
  Readln(f,q,w,e,r);
  For i:=1 to n do
    Begin
    For j:=1 to m do
      Read(f,a[i,j]);
      Readln(f);
    End;
  Close(f);
  c:=0; d:=1;
  End;
Procedure them(x,y : Integer);
 Begin
  inc(c);
  kx[c]:=x;
  ky[c]:=y;
 End;
Procedure rut(Var x,y : Integer);
 Begin
  x:=kx[d];
  y:=ky[d];
  inc(d);
 End;
Function ktra(x,y : Integer) : Boolean;
 Begin
  ktra:=false;
  If ( 1<=x ) and ( x<=n ) and ( 1<=y ) and ( y<=m ) then
  ktra:=true;
 End;
Procedure try(x,y : Integer);
 Var i,j,xo,yo : Integer;
  Begin
  them(x,y);
  a[x,y]:=2;
  While c >= d do
    Begin
    rut(x,y);
    For i:=1 to 4 do
      Begin
      xo:=x+Vx[i];
      yo:=y+Vy[i];
      If (a[xo,yo]=1) and (ktra(xo,yo)=true) then
        Begin
        them(xo,yo);
        A[xo,yo]:=2;
        End;
      End;
    End;
  End;
Procedure ghi;
 Var i,j : Integer;
  Begin
  Assign(g,fo);
  Rewrite(g);
  If (a[q,w] <> a[e,r]) then Writeln(g,'No')
  Else
    Begin
    try(q,w);
    If a[e,r]=2 then Writeln(g,'Yes')
    Else Writeln(g,'No');
    End;
  Close(g);
  End;
Begin
 doctep;
 ghi;
End.

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà hung2xpro
Trả lời nhanh
Tue Feb 07, 2012 10:38 pm
hung2xpro

Tập Code

Bài 3 : ( 6 điểm ) Robot
Cho hình chữ nhật NxM ô vuông gồm N dòng M cột . Mỗi ô vuông ghi 1 số nguyên không vượt quá 100 thể hiện cho mức độ cản trở Robot khi Robot vào ô đó . Một Robot đứng tại ô góc trái trên (1,1) muốn di chuyển xuống góc phải dưới (n,m) của hình chữ nhậy . Mỗi bước Robot di chuyển sang ô bên phải hoặc ô phía dưới ô đang đứng .
Yêu cầu : Tìm đường đi ít cản trở Robot nhất và tính tổng các mức cản trở Robot trên con đường đó ( kể cả mức cản trở tại ô đầu tiên Robot đang đứng ) .
Dữ liệu vào : ROBOT.INP
- Dòng 1 : Ghi 2 số N , M ( 1<=N,M<=100)
- N Dòng tiếp theo , mỗi dòng ghi M số nguyên dương tương ứng với giá trị các ô vuông của hình chữ nhật .

Dữ liệu ra : ROBOT.OUT
- Gồm 1 dòng : Ghi tổng các mức cản trở Robot ít nhất để Robot đi từ ô (1,1) đến ô (n,m) của hình chữ nhật .
vd : Robot.inp

3 4
1 1 1 1
5 2 2 9
9 4 2 1

Robot.out
8
______________________________________________________

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà hung2xpro
Trả lời nhanh
Tue Feb 07, 2012 10:43 pm
hung2xpro

Tập Code

Bài 4 : ( 3 điểm ) Cân
Một cái cân hai đĩa và N quả cân có khối lượng A[1],A[2],....,A[n] . Hãy tìm cách đặt các quả cân trên hai đĩa sao cho cân thăng bằng .
Dữ liệu vào : CAN.INP
- Dòng 1 : Ghi 1 số N (2<=N<=100) .
- Dòng 2 Ghi N số A[1],A[2],...,A[n](1<=a[i]<=100) .
Dữ liệu ra : CAN.OUT
Gồm 2 dòng mỗi dòng ghi khối lượng của các quả cân trên mỗi đĩa cân .
Nếu bài toán không có lời giải thì ghi số 0 .

Code:
vd : CAN.INP                            CAN.OUT
         
          3                                    5
          3 5 2                                3 2
         
          CAN.INP                              CAN.OUT

          3                                    0 
          4 2 8                                   
________________________________________________

Thích

Báo xấu [0]

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

Thích

Báo xấu [0]

Gửi một bình luận lên tường nhà Sponsored content
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