Club Olympic Tin học trường THPT Kon Tum
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.

Club Olympic Tin học trường THPT Kon Tum

Chào mừng các bạn đến với club Tin học trường THPT Kon Tum - Nơi giao lưu, chia sẻ kiến thức về tin học!
 
Trang ChínhPortalLatest imagesĐăng kýĐăng Nhập
Đề thi học sinh giỏi Tin học 12  Post_t10Đề thi học sinh giỏi Tin học 12  Post_t12
Đề thi học sinh giỏi Tin học 12  Post_f12Đề thi học sinh giỏi Tin học 12  Post_f10
Bài Viết Mới Nhất
Tên Bài ViếtTác GiảThời Gian Gửi
Mới sưu tầm được 1 game làm bằng Pascal nè Duy Tân Đề thi học sinh giỏi Tin học 12  I_icon_minitime Tue Jan 28, 2014 3:26 am
Thi tin học trẻ tỉnh Kon Tum lần thứ XI năm 2010 minhlenhat28 Đề thi học sinh giỏi Tin học 12  I_icon_minitime Sat Jun 29, 2013 8:33 pm
Vật lý trong tin học Jeremy_Belpois_c3kt Đề thi học sinh giỏi Tin học 12  I_icon_minitime Fri May 24, 2013 11:52 am
Kiểm tra theo mức độ khó dần Jeremy_Belpois_c3kt Đề thi học sinh giỏi Tin học 12  I_icon_minitime Sat Apr 20, 2013 8:12 pm
Tài liệu tham khảo Jeremy_Belpois_c3kt Đề thi học sinh giỏi Tin học 12  I_icon_minitime Sat Apr 20, 2013 8:09 pm
Đề cấp trường. Jeremy_Belpois_c3kt Đề thi học sinh giỏi Tin học 12  I_icon_minitime Fri Feb 22, 2013 7:21 pm
Tìm tất cả các số nguyên tố từ 2 đến N blueskythien2010 Đề thi học sinh giỏi Tin học 12  I_icon_minitime Thu Nov 22, 2012 4:04 pm
Viết chương trình in ra dãy Fibonacy có phần tử lớn nhất nhỏ hơn n ? Có ai giúp mình với mikiramper_snowstorm96 Đề thi học sinh giỏi Tin học 12  I_icon_minitime Sat Nov 17, 2012 3:26 pm
ĐỀ HSG 12 2012-2013 blueskythien2010 Đề thi học sinh giỏi Tin học 12  I_icon_minitime Mon Oct 15, 2012 4:27 pm
Đề thi học sinh giỏi Tin học 12 Jeremy_Belpois_c3kt Đề thi học sinh giỏi Tin học 12  I_icon_minitime Wed Oct 10, 2012 11:14 am

Share | 
 

 Đề thi học sinh giỏi Tin học 12

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeSun Oct 16, 2011 8:34 am

[You must be registered and logged in to see this link.]
Nào ta cùng giải Very Happy


Được sửa bởi Jeremy_Belpois_c3kt ngày Wed Oct 10, 2012 11:10 am; sửa lần 1.
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeSun Oct 16, 2011 10:34 am

Bài 3
Code:
program Cuu_tro;
const inf='BAI3.INP';
      outF='BAI3.OUT';
      MAXn=100;
type      lent=array[2..maxN] of longword;
VAR D:array[1..MaxN,1..maxN] of integer;
    DT:array[1..2] of lent;
    truoc,sau,n:byte;

{**************************************}
procedure Enter;
var i,u,v,k,m:byte;W:integer;  f:TEXT;
begin
assign(F,inf);
reset(f);
readln(F,n,k,m);
for i:=1 to k do
  begin
      readln(F,u,v,w);
      D[u,v]:=W;
      D[v,u]:=W;
  end;
for i:=1 to m do
  begin
      readln(F,u,v);
      D[u,v]:=0;
      D[v,u]:=0;
  end;
close(f);
end;
{****************************************}
procedure Go;
var x,y:byte;  co:boolean;
begin
truoc:=1;sau:=2;co:=false;
fillchar(DT,sizeof(DT),0);
  {di tu nut 1}
  for x:=2 to n do
    if D[1,x]>0 then
        begin
            DT[truoc,x]:=D[1,x];
            co:=true;
        end;
  while co=true do
    begin
        co:=false;
        for x:=2 to n do
          if DT[truoc,x]>0 then  {no da di toi}
              for y:= 2 to n do
                if x=y then DT[sau,x]:=DT[truoc,y] else
                if D[x,y]>0 then  {co duong d tu x toi y}
                begin
                  if (DT[sau,y]=0) then  {chua di toi}
                    begin
                    DT[sau,y]:=DT[truoc,x]+D[x,y];
                    co:=true; {con di duoc}
                    end else  {da toi}
                  if  DT[truoc,x]+D[x,y]< DT[sau,y] then
                    begin
                          co:=true;
                          DT[sau,y]:=DT[truoc,x]+D[x,y];
                    end;
                end;
    if truoc=1 then begin truoc:=2;sau:=1; end else begin truoc:=1; sau:=2;end;
    end;
end;
{*************************************************}
procedure result;
var f:text;i:byte;
begin
 asSign(f,outF);
 rewrite(F);
 for i:=2 to n do
  if DT[truoc,i]>0 then  writeln(F, i,' ',DT[truoc,i]) else writeln(F,i,'  khong co');
 close(F);
end;

begin
ENTER;
GO;
RESULT;
end.
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
dongocthinh
Thành viên mới
Thành viên mới


Status : nguoi
Tổng số bài gửi : 1
Money : 1
Ngày tham gia : 14/11/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeMon Nov 14, 2011 6:02 pm

Bài 1
Mình chạy thử test với 43 số khác nhau, gồm 12000 chữ số thì mất khoảng 2.5 giây.
Code:

const max = 200000;
var n,ki:longint;
    a:array[1..max] of longint;
    b:array[1..max] of longint;
    sl,so:array[1..max] of longint;
    f1,f2:text;
procedure nhap;
var i:longint;
 begin
 assign(f1,'so1.inp'); reset(f1);
 readln(f1,n);
 for i:=1 to n do
  read(f1,a[i]);
 end;
procedure sapxep;
var i,j,t:longint;
 begin
 for i:=1 to n-1 do
  for j:=i+1 to n do
  if a[i]>a[j] then
    begin
    t:=a[j];
    a[j]:=a[i];
    a[i]:=t;
    end;
  end;
procedure xuly;
var h,i:longint;
 begin
    i:=1; ki:=0;
    repeat
    h:=a[i];
    inc(ki);
    so[ki]:=h;
    while h=a[i] do
      begin
      inc(sl[ki]);
      inc(i);
      end;
    until i>n;
  end;
procedure xuat;
var i:longint;
 begin
 assign(f2,'so1.out');  rewrite(f2);
 writeln(n);
 writeln(f2,ki);
 for i:=1 to ki do
  writeln(f2,so[i],' ',sl[i]);
  close(f2);
 end;
begin
nhap;
sapxep;
xuly;
xuat;
end.







Về Đầu Trang Go down
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeWed Nov 16, 2011 8:54 am

Để nhanh hơn nên học Quicksort đi bạn.
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeWed Nov 16, 2011 8:56 am

procedure QuickSort;
procedure Partition(L, H: Integer); {Sắp xếp dãy khoá k[L..H]}
var
i, j: Integer;
Pivot: TKey; {Biến lưu giá trị khoá chốt}
begin
if L ≥ H then Exit; {Nếu đoạn chỉ có ≤ 1 khoá thì không phải làm gì cả}
Pivot := k[Random(H - L + 1) + L]; {Chọn một khoá ngẫu nhiên trong đoạn làm khoá chốt}
i := L; j := H; {i := vị trí đầu đoạn; j := vị trí cuối đoạn}
repeat
while k[i] < Pivot do i := i + 1; {Tìm từ đầu đoạn khoá ≥ khoá chốt}
while k[j] > Pivot do j := j - 1; {Tìm từ cuối đoạn khoá ≤ khoá chốt}
{Đến đây ta tìm được hai khoá k[i] và k[j] mà k[i] ≥ key ≥ k[j]}
if i ≤ j then
begin
if i < j then {Nếu chỉ số i đứng trước chỉ số j thì đảo giá trị hai khoá k[i] và k[j]}
〈Đảo giá trị k[i] và k[j]〉; {Sau phép đảo này ta có: k[i] ≤ key ≤ k[j]}
i := i + 1; j := j - 1;
end;
until i > j;
Partition(L, j); Partition(i, H); {Sắp xếp hai đoạn con mới tạo ra}
end;
begin
Partition(1, n);
end;
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
|__Lep__|
Thành viên
Thành viên
|__Lep__|

Nam Status : Tạm thời ngừng code
Tổng số bài gửi : 34
Money : 53
Ngày sinh : 21/05/1994
Ngày tham gia : 21/10/2010

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeFri Nov 25, 2011 3:42 pm

thử dùng 1 mảng 1 chiều lwu các giá trị và số lần xuất hiện.
VD ó các số 3 25 123 thì inc(a[3]) inc(a[5]) inc(a[123]). Sau đó duyệt hết mảng
for i:=1 to max do
if a[i]<>0 then write(i,' ',a[i])
Có thể lwu giá trị lớn nhất của các số xuất hiện để duyệt ít hơn.
Thwr xem có tối wu hơn không nha
Về Đầu Trang Go down
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeSat Dec 03, 2011 6:19 pm

Giả thuyết cho max tới 10000000 thì bao nhiêu cho đủ
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
|__Lep__|
Thành viên
Thành viên
|__Lep__|

Nam Status : Tạm thời ngừng code
Tổng số bài gửi : 34
Money : 53
Ngày sinh : 21/05/1994
Ngày tham gia : 21/10/2010

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeSun Dec 04, 2011 10:10 am

Ai<30000 nghĩa là mảng có tối đa 30000 phần twr kiểu shortint mà không được à
Về Đầu Trang Go down
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeWed Dec 07, 2011 8:33 pm

Uh. còn bài 2 dung Quy hoạch động. Còn bài 3 dùng đồ thị thì hơi khó đấy,
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
Jeremy_Belpois_c3kt
Admin
Admin
Jeremy_Belpois_c3kt

Nam Status : Không code nữa rồi
Tổng số bài gửi : 40
Money : 65
Ngày sinh : 29/05/1995
Ngày tham gia : 28/09/2011

Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitimeWed Oct 10, 2012 11:14 am

Đề Thi HSG 12 Đồng Tháp:
[You must be registered and logged in to see this link.]

Câu 2: ĐA
[You must be registered and logged in to see this link.]
[chỉnh lại trước khi test]
Về Đầu Trang Go down
http://hoahoctrothptkontum.forum-viet.com
Sponsored content




Đề thi học sinh giỏi Tin học 12  _
Bài gửiTiêu đề: Re: Đề thi học sinh giỏi Tin học 12    Đề thi học sinh giỏi Tin học 12  I_icon_minitime

Về Đầu Trang Go down
 

Đề thi học sinh giỏi Tin học 12

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Club Olympic Tin học trường THPT Kon Tum :: Nhóm chuyên mục :: Pascal :: Đề thi-
Chuyển đến 
Free forum | ©phpBB | Free forum support | Báo cáo lạm dụng | Thảo luận mới nhất