Diễn Đàn Pascal
Bạn có muốn phản ứng với tin nhắn này? Vui lòng đăng ký diễn đàn trong một vài cú nhấp chuột hoặc đăng nhập để tiếp tục.

Đề thi Olympic Tin học sinh viên Toàn quốc 2010

2 posters

Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by bí mật cuộc sống 11/12/2010, 6:06 pm

Đây là đề thi Olympic Tin học sinh viên Toàn quốc năm 2010 - Khối cá nhân chuyên tin: ở Đây

Các bạn thử download để giải xem thế nào Very Happy


Bài 1: khá đơn giả

Bài 2: dùng mảng để lưu trữ các xâu, dùng QuickSort để sắp xếp lại mảng, sau đó mới tiếp tục giải quyết bài toán

Bài 3: dùng thuật toán Floyd 2 lần: 1 cho đường đi bộ và 1 đường đi ô tô. Sau đó, tìm điều kiện thỏa mãn đề bài

Bài 4: chưa nghĩ ra, các bạn nghĩ hộ cái
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Re: Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by sptinhoc 17/12/2010, 7:23 pm

Bài 1 thì quá đơn giản rồi, cho mấy đứa mới học pascal cũng làm ra, còn bài 2 không cần đến quicksort đâu, mình nghĩ chỉ cần dùng 1 mảng có K phần tử, chỉ số của mảng từ 2010 đến 9999 và giá trị của mảng là các số nguyên dương. Chỉ số của mảng chính là 4 số cuối của biển số xe còn 4 số đầu giống nhau rồi không tính, giá trị của các phần tử mảng chính là tần số lặp lại của chiếc xe có biển số là chỉ số mảng.
Ta có thể viết chương trình thế này
Code:

TYPE mang=array[2010...9999] of word;
------------
Function Tinh_Tien( var A:mang):real;
var f:text;
    n,tien: real;
    bienso:string;
    b,d,i:word;
Begin
 assign(f,'pack.inp');
 reset(f);
 readln(f,n);
 while not eof(f) do
  begin
  readln(f,bienso);
  delete(bienso,1,4);
  val(bienso,b,d);
  A[b]:=A[b]+1;
  end;
  i:=2010;
  tien:=0;
  While i<=9999 do
    Begin
      if A[i]>5 then tien:=tien+100+A[i]-5
        else if A[i]>0 then tien:=tien+100;
      i:=i+1;
    end;
  Tinh_tien:=tien;
End.
Bài này mình chưa chạy, ko biết có đúng ko nữa, mong mọi người đóng góp ý kiến
sptinhoc
sptinhoc
Thành viên mới
Thành viên mới

Nam Ngày sinh : 12/10/1988
Tuổi : 35
Ngày đăng ký : 11/01/2010

Về Đầu Trang Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Re: Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by bí mật cuộc sống 20/12/2010, 5:37 am

Gửi các bạn code của 4 bài này của một người bạn. Đọc code cũng thấy ngắn và đơn giản.

Download: Here

Mọi người giải thích hộ bài 4 xem thế nào nhé. Tức là xử lý như thế nào ý Very Happy


Được sửa bởi bí mật cuộc sống ngày 21/1/2011, 7:03 pm; sửa lần 1.
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Re: Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by bí mật cuộc sống 20/12/2010, 4:58 pm

Nếu ai đi thi thì cũng cần chú ý: Các thao tác với tệp rất tốn thời gian. Vì vậy, nên giảm thiểu tối đa việc truy nhập vào file Very Happy
bí mật cuộc sống
bí mật cuộc sống
Moderator
Moderator

Nam Ngày sinh : 12/08/1989
Tuổi : 34
Ngày đăng ký : 05/12/2010

http://tosonnguyenxyz.summerhost.info/web/

Về Đầu Trang Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Re: Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by sptinhoc 20/12/2010, 6:44 pm

uh....uh. dù sao thì cũng phải đọc file ít nhất 1 lần để lấy dữ liệu mà.
sptinhoc
sptinhoc
Thành viên mới
Thành viên mới

Nam Ngày sinh : 12/10/1988
Tuổi : 35
Ngày đăng ký : 11/01/2010

Về Đầu Trang Go down

Đề thi Olympic Tin học sinh viên Toàn quốc 2010 Empty Re: Đề thi Olympic Tin học sinh viên Toàn quốc 2010

Bài gửi by Sponsored content


Sponsored content


Về Đầu Trang Go down

Về Đầu Trang

- Similar topics

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