1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Đề thi chọn đội tuyển Quốc gia môn Tin học năm 2022-2023 có đáp án (Vòng 2) - Sở GD&ĐT Quảng Bình

11 6 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề thi chọn đội tuyển Quốc gia môn Tin học năm 2022-2023 có đáp án (Vòng 2) - Sở GD&ĐT Quảng Bình
Trường học Sở Giáo Dục Và Đào Tạo Quảng Bình
Chuyên ngành Tin học
Thể loại Đề thi
Năm xuất bản 2022-2023
Thành phố Quảng Bình
Định dạng
Số trang 11
Dung lượng 464,65 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Để đạt được kết quả cao trong kì thi sắp diễn ra, các em học sinh khối lớp 5 có thể tải về tài liệu Đề thi chọn đội tuyển Quốc gia môn Tin học năm 2022-2023 có đáp án (Vòng 2) - Sở GD&ĐT Quảng Bình được chia sẻ dưới đây để ôn tập, hệ thống kiến thức môn học, nâng cao tư duy giải đề thi để tự tin hơn khi bước vào kì thi chính thức. Mời các em cùng tham khảo đề thi.

Trang 1

S  GD&ĐT QU NG BÌNHỞ Ả

Đ  CHÍNH TH CỀ Ứ

K  THI CH N Ỳ Ọ Đ I TUY N Ộ Ể

D  THI  CH N H C SINH GI I QU C GIA Ọ Ọ Ỏ Ố

NĂM H C 2022­2023

Khóa ngày 20 tháng 9 năm 2022

Môn thi: TIN H C

BÀI THI TH  HAI

Th i gian: 1ờ 80 phút (không k  th i gian giao đ ) ể ờ ề

Đ  g m có  ề ồ 03 trang và 03 câu 

S  d ng ngôn ng  l p trình đ  gi i quy t các bài toán sau: ử ụ ữ ậ ể ả ế

(* Ph n m  r ng, có th  là PAS ho c CPP) ầ ở ộ ể ặ

Câu Tên file bài làm Tên file d  li u vàoữ ệ Tên file d  li u raữ ệ

Câu 1. Hình ch  nh t b n màu (6 đi m).ữ ậ ố ể

Trên m t ph ng t a đ  Đ  các vuông góc Oxy cho n đi m phân bi t Aặ ẳ ọ ộ ề ể ệ i(xi, yi) v i ớ i = 

1, 2, 3, …, N.   M i đi m Aỗ ể i được tô b i màu Cở i thu c {1, 2, 3, 4}. Ta g i hình ch  nh tộ ọ ữ ậ  

b n màu là hình ch  nh t th a mãn hai đi u ki n sau:ố ữ ậ ỏ ề ệ

B n đ nh c a hình chố ỉ ủ ữ nh t là b n đi m trong ậ ố ể N đi m đã cho và để ược tô b i b nở ố   màu khác nhau

Các c nh c a hình chạ ủ ữ nh t song song v i m t trong hai tr c t a đ ậ ớ ộ ụ ọ ộ

Yêu c u:ầ  Cho bi t t a đ  và màu c a ế ọ ộ ủ N đi m, hãy đ m s  lể ế ố ượng hình ch  nh t b nữ ậ ố   màu

D  li u ữ ệ  vào: Cho trong file văn b n có tên ả COLOREC.INP có c u trúc: ấ

Dòng 1: Ch a ứ s  nguyên d ng ố ươ N là s  l ng đi m trên m t ph ngố ượ ể ặ ẳ  (4 ≤ N ≤ 105) Dòng th  i trong n dòng ti p theo ch a ba s  nguyên xứ ế ứ ố i, yi, ci là thông tin v  t a đề ọ ộ 

và màu c a đi m th  i (i = 1, 2, 3,  , ủ ể ứ N), (|xi|, |yi| ≤ 200)

(Hai s  liên ti p ố ế trên cùng m t dòng độ ược ghi cách nhau ít nh t m t d u cáchấ ộ ấ )

D  li u ra: ữ ệ  Ghi vào file văn b n có tên  ả COLOREC.OUT v i c u trúc: ớ ấ

Dòng 1: Ghi m t s  nguyên là ộ ố s  lố ượng hình ch  nh t đ m đữ ậ ế ược

Ví d :

7

0 0 1

0 1 4

2 1 2

2 -1 3

0 -1 1

-1 -1 4

2

Trang 2

-1 1 1

 

* Gi i h n:  ớ ạ 50% s  test  ng v i 50% s  đi m c a bài có 4  ố ứ ớ ố ể ủ ≤ n ≤ 100

Câu 2. Đường đ n trế ường (7 đi m).

Ngày 20/9/2022 S  GD&ĐT Qu ng Bình t  ch c k  thi ch n đ i tuy n chính th cở ả ổ ứ ỳ ọ ộ ể ứ  

d  thi h c sinh gi i Qu c gia t i đi m thi trự ọ ỏ ố ạ ể ường THPT Chuyên Võ Nguyên Giáp. T tấ  

c  các b n đã chu n b  khá k  càng. Ch  có đi u, các thí sinh d  thi r t lo l ng cho Namả ạ ẩ ị ỹ ỉ ề ự ấ ắ  

vì nhà Nam cách đi m thi khá xa và b n  y không xác đ nh để ạ ấ ị ược đi đường nào đ nế  

đi m thi là nhanh nh t. Thể ấ ường ngày m i ngọ ười không quan tâm đ n đi u này, nh ngế ề ư   hôm nay là k  thi r t quan tr ng nên không mu n b n Nam đ n tr ỳ ấ ọ ố ạ ế ễ 

B n đ  thành ph  ả ồ ố Đ ng H i ồ ớ g m có N nút giao thông và M con đ ng n i các nútồ ườ ố   giao thông này. Có 2 lo i con đạ ường là đ ng 1 chi u và đ ng 2 chi u. Đ  dài c a m iườ ề ườ ề ộ ủ ỗ   con đ ng là m t s  nguyên dườ ộ ố ương. Nhà Nam   nút giao thông 1ở , đi m thi ể Tr ng THPTườ   Chuyên Võ Nguyên Giáp   nút giao thông N. Vì m t l  trình đ ng đi t  nhà Nam t iở ộ ộ ườ ừ ớ  

đi m thi có th  g p nhi u y u t  khác nh  là g p nhi u đèn đ , đi qua công trể ể ặ ề ế ố ư ặ ề ỏ ường xây 

d ng,   ph i gi m t c đ  cho nên Nam mu n bi t là có t t c  bao nhiêu ự ả ả ố ộ ố ế ấ ả đ ng điườ  ng nắ  

nh t đi t  nhà t i đi m thi. ấ ừ ớ ể Các b n ạ thí sinh hãy l p trình giúp Nam gi i quy t bài toánậ ả ế   này

D  li u ữ ệ  vào: Cho trong file văn b n có tên ả SCHOOL.INP có c u trúc: ấ

Dòng 1: Ch aứ  hai s  nguyên N và Mố  (1 ≤ N ≤ 5000; 1 ≤ M ≤ 20000).

M dòng ti p theo, m i dòng ghi 4 s  nguyên dế ỗ ố ương K, U, V, L. Trong đó:

+ K = 1 có nghĩa là có đường đi m t chi u t  U đ n V v i đ  dài L.ộ ề ừ ế ớ ộ

+ K = 2 có nghĩa là có đường đi hai chi u gi a U và V v i đ  dài L.ề ữ ớ ộ

(1 ≤ U,V ≤  N; L ≤ 32000)

(Hai s  liên ti p trên cùng m t dòng đố ế ộ ược ghi cách nhau b i ít nh t m t d u cách)ở ấ ộ ấ

D  li u ra: ữ ệ  Ghi vào file văn b n có tên  ả SCHOOL.OUT v i c u trúc: ớ ấ

Dòng 1: Ghi 1 s  là ố đ  dài độ ường đi ng n nhắ ất

Dòng 2: Ghi 1 s  là ố s  lố ượng đường đi ng n nh t. ắ ấ

Bi t r ng s  lế ằ ố ượng đường đi ng n nh t không vắ ấ ượt quá ph m vi ạ int64 trong pascal 

hay long long trong C++.

Ví d :

Trang 3

SCHOOL.INP SCHOOL.OUT

3   2 

1   1   2   3

2   2   3   1

4 1

Câu 3. X p hàng (7 đi m).ế ể

Đ  trình di n m t ti t m c trong màn khai m c Đ i h i th  thao qu c t , đ oể ễ ộ ế ụ ạ ạ ộ ể ố ế ạ  

di n Hùng đã m i ễ ờ n v n đ ng viên có chi u cao khác nhau t ng đôi ậ ộ ề ừ m t ộ tham gia. Theo 

k ch b n, n v n đ ng viên s  đị ả ậ ộ ẽ ược x p thành m t hàng d c, đ u hàng   phía khán đàiế ộ ọ ầ ở  

A (khán đài ch a các khách m i qu c t ), cu i hàng   phía khán đài B (khán đài cóứ ờ ố ế ố ở   nhi u du khách và các quan ch c đ a phề ứ ị ương). Đ o di n mu n r ng t  phía khán đài A,ạ ễ ố ằ ừ   khán gi  có th  nhìn th y P v n đ ng viên, còn t  phía khán đài B khán gi  có th  nhìnả ể ấ ậ ộ ừ ả ể  

th y Q v n đ ng viên. M t v n đ ng viên đấ ậ ộ ộ ậ ộ ược nhìn th y t  phía khán đài A n u nhấ ừ ế ư 

t t c  các v n đ ng viên đ ng trấ ả ậ ộ ứ ước (theo chi u t  đ u hàng đ n cu i hàng) đ u cóề ừ ầ ế ố ề   chi u cao th p h n v n đ ng viên này. M t v n đ ng viên đề ấ ơ ậ ộ ộ ậ ộ ược nhìn th y t  phía khánấ ừ   đài B n u nh  t t c  các v n đ ng viên đ ng sau (theo chi u t  đ u hàng đ n cu iế ư ấ ả ậ ộ ứ ề ừ ầ ế ố   hàng) đ u có chi u cao th p h n v n đ ng viên nàyề ề ấ ơ ậ ộ

Ví d : ụ  Có 9 v n đ ng viên đậ ộ ược x p theo th  t  v i dãy chi u cao tế ứ ự ớ ề ương  ng là ứ

3, 2, 4, 1, 9, 8, 7, 5, 6 thì t  ừ khán đài A (  phía bên trái) có th  nhìn th y 3 ng i (v i chi u cao là 3, 4, 9), còn tở ể ấ ườ ớ ề ừ  khán đài B (  phía bên ph i) có th  nhìn th y 4 ng i (v i chi u cao là 6, 7, 8, 9). ở ả ể ấ ườ ớ ề

Yêu c u:ầ  Hãy giúp đ o di n xác đ nh xem có bao nhiêu cách x p n v n đ ng viênạ ễ ị ế ậ ộ   thành hàng d c tho  mãn đi u ki n đ t ra. ọ ả ề ệ ặ

D  li u ữ ệ  vào: Cho trong file văn b n có tên ả QUEUE.INP có c u trúc: ấ

Dòng đ u tiên ghi ba s  nguyên dầ ố ương n, P, Q (n   2000; P, Q   n)

Dòng th  hai g m n s  nguyên dứ ồ ố ương là các đ  cao c a n v n đ ng viên độ ủ ậ ộ ược m iờ   tham gia th c hi n ti t m c trình di n. ự ệ ế ụ ễ

(Hai s  liên ti p trên cùng m t dòng đố ế ộ ược ghi cách nhau b i ít nh t m t d uở ấ ộ ấ   cách)

D  li u ữ ệ  ra: Ghi vào file văn b n có tên ả QUEUE.OUT v i c u trúc: ớ ấ  

Dòng 1:  G m m t s  nguyên là ph n d  trong phép chia s  lồ ộ ố ầ ư ố ượng cách x p tìmế  

được cho 109+7

Ví d :

3   2   1

1   2   3

 1

Gi i thích: ả  Trong s  6 cách x p 3 v n đ ng viên thành m t hàng d c, có m t ố ế ậ ộ ộ ọ ộ cách  duy nh t các v n đ ng viên đấ ậ ộ ược x p theo th  t  chi u cao là 2, 1, 3 tho  mãn yêu c uế ứ ự ề ả ầ  

Trang 4

đ t raặ : Nhìn t  khán đài A th y đừ ấ ược 2 v n đ ng viên 2,3; nhìn t  khán đài B th y đậ ộ ừ ấ ượ  c

1 v n đ ng viên 3ậ ộ

* Gi i h n ớ ạ

? ≤ 10: 30% s  đi m ố ể

? ≤ 500; ? = 1: 30% s  đi m ố ể

? ≤ 500: 20% s  đi m ố ể

? ≤ 2000: 20% s  đi m  ố ể

YÊU C U CHUNG

I. PHƯƠNG PHÁP

­ Bài thi c a thí sinh đủ ược ch m b ng chấ ằ ương trình ch m t  đ ng Themis.ấ ự ộ

­ Test c a các bài đủ ược đ t c u hình nh  sau:ặ ấ ư

+ Câu 1: GK t o ít nh t ạ ấ 12 test,  m i test tỗ ương  ng v i s  đi m ứ ớ ố ể 6đ/s  testố  Th i gianờ   cho m i test c a câu 1 là 1 giây.ỗ ủ

+ Câu 2: GK t o ít nh t 14 testạ ấ ,  m i test tỗ ương  ng v i s  đi m ứ ớ ố ể 7đ/s  testố , th i gianờ   cho m i test c a câu 2 là 1 giây.ỗ ủ

+ Câu 3: GK t o ít nh t 14 testạ ấ ,  m i test tỗ ương  ng v i s  đi m ứ ớ ố ể 7đ/s  testố , th i gianờ   cho m i test c a câu 2 là 1 giây.ỗ ủ

­ T ng đi m đổ ể ược làm tròn đ n m t ch  s    hàng th p phân.ế ộ ữ ố ở ậ

II. CHƯƠNG TRÌNH G I Ý

Program COLOREC;

Uses Math;

Const

  minXY =­200;

  maxXY =200;

  fi='COLOREC.INP';

  fo='COLOREC.OUT';

Var

  res :LongInt;

  A :Array[minXY maxXY,minXY maxXY] of Byte;

  C :Array[1 4,1 4] of integer;

  f:Text;

  maxx,may,mix,miy:integer;

  procedure Enter;

  var

    i,n :LongInt;

Trang 5

  begin

    assign(f,fi);

    reset(f);

    Read(f,n);

    maxx:=­201;

    mix:=201;

    may:=­201;

    miy:=201;

    FillChar(A,SizeOf(A),0);

    for i:=1 to n do

    begin

    Read(f,x,y,A[x,y]);

    if x>maxx then maxx:=x

    else if x<mix then mix:=x;

    if y>may then may:=y

    else if y<miy then miy:=y;

    end;

    close(f);

  end;

  procedure Solve;

  var

    x1,x2,y :SmallInt;

  begin

    res:=0;

    for x1:=miX to maxx­1 do

      for x2:=x1+1 to maxx do

        begin

      FillChar(C,SizeOf(C),0);

      for y:=miY to maY do

      if (A[x1,y]*A[x2,y]>0) then

      Inc(C[Min(A[x1,y],A[x2,y]),Max(A[x1,y],A[x2,y])]);       Inc(res,C[1,2]*C[3,4]+C[1,3]*C[2,4]+C[1,4]*C[2,3]);         end;

  end;

Begin

  Enter;

  Solve;

  Assign(f,fo); Rewrite(f);

  Write(f,res);

  Close(f);

End.

Trang 6

Câu 2. Đường đ n trế ường (7 đi m).    

SHOOL.*

const

   tfi='school.inp';

   tfo='school.out';

   maxn=5001;

type

   PtrNode=^Node;

   Node = record id: integer; Ts: integer; next: PtrNode; end;    arr1=array[1 maxn] of PtrNode;

   arr2=array[1 maxn] of integer;

   arr3=array[1 maxn] of longint;

   arr4=array[1 maxn] of byte;

   arr5=array[1 maxn] of int64;

var

   fi, fo: text;

   N,M: integer;

   a: arr1;

   q: arr2;

   qn: integer;

   kc: arr3;

   color: arr4;

   sl: arr5;

   cs: arr2;

procedure initq;

begin

   qn:=0;

end;

procedure put(u: integer);

begin

   inc(qn);

   q[qn]:=u;

end;

function get: integer;

var u,i: integer;

begin

   u:=1;

   for i:=2 to qn do

      if kc[q[i]]<kc[q[u]] then u:=i;

   get:=q[u];

   q[u]:=q[qn];

   dec(qn);

end;

function qempty: boolean;

Trang 7

   qempty:=(qn=0);

end;

procedure ThemCanh(u,v,L: integer);

var t: PtrNode;

begin

   new(t);

   t^.id:=v; t^.Ts:=L;

   t^.next:=a[u];

   a[u]:=t;

end;

procedure dijstra;

var u,v: integer;

    t: PtrNode;

begin

   initq;

   fillchar(color,sizeof(color),0);

   put(1); color[1]:=1; kc[1]:=0;

   repeat

      u:=get; color[u]:=2;

      t:=a[u];

      while t<>nil do

         begin

      v:=t^.id;

      if (color[v]=1) and (kc[v]>kc[u]+t^.Ts) then        kc[v]:=kc[u]+t^.Ts;

      if color[v]=0 then

       begin

      put(v);

      kc[v]:=kc[u]+t^.Ts;

      color[v]:=1;

       end;

      t:=t^.next;

         end;

   until qempty;

end;

procedure sort(k,l: integer);

var r: longint;

    i,j, tg: integer;

begin

   r:=kc[cs[(k+l) div 2]];

   i:=k; j:=l;

   repeat

Trang 8

      while kc[cs[j]]>r do dec(j);

      if i<=j then

         begin

      tg:=cs[i]; cs[i]:=cs[j]; cs[j]:=tg;       inc(i);

      dec(j);

         end;

   until i>j;

   if k<j then sort(k,j);

   if i<l then sort(i,l);

end;

procedure Tim;

var i,u,v: integer;

    t: PtrNode;

begin

   dijstra;

   fillchar(sl,sizeof(sl),0);

   sl[1]:=1;

   for i:=1 to n do cs[i]:=i;

   sort(1,N);

   i:=1;

   while (i<=n) and (cs[i]<>n) do

      begin

         u:=cs[i];

         if sl[u]>0 then

      begin

       t:=a[u];

       while t<>nil do

      begin

       v:=t^.id;

       if kc[v]=kc[u]+t^.Ts then

      sl[v]:=sl[v]+sl[u];

       t:=t^.next;

      end;

      end;

         inc(i);

      end;

end;

procedure doc;

var i,k,u,v,L: integer;

begin

   read(fi,n,m);

   for i:=1 to n do a[i]:=nil;

   for i:=1 to m do

Trang 9

         read(fi,k,u,v,L);

         ThemCanh(u,v,L);

         if k=2 then ThemCanh(v,u,L);

      end;

end;

procedure main;

begin

   assign(fi,tfi); reset(fi);

   assign(fo,tfo); rewrite(fo);

   doc;

   tim;

   writeln(fo,kc[n]);

   writeln(fo,sl[n]);

   close(fi); close(fo);

end;

BEGIN

   main;

END.

Câu 3. X p hàngế  (7 đi m).    

QUEUE.*

#include <iostream>

#include <algorithm>

#include <stdio.h>

#include <vector>

#include <map>

#include <set>

#include <queue>

#include <stdlib.h>

#include <time.h>

#include <iomanip>

#include <math.h>

using namespace std;

#define LL long long 

#define uLL unsigned long long 

#define FOR(i,l,r) for(int i = l; i <= r; ++i)

#define REP(i,l,r) for(int i = l; i < r; ++i)

#define FORD(i,r,l) for(int i = r; i >= l; ­­i)

#define REPD(i,r,l) for(int i = r; i > l; ­­i)

#define pi pair<int,int>

#define pii pair<int,pi>

#define mp make_pair

#define fi first

Trang 10

const int maxN = 2001;

const LL MOD = 1e9 + 7;

int tcases = 1;

/////////////////////////////////////////////////////////////////////////////////////////////////////////////

int N,P,Q;

LL F[maxN][maxN],C[maxN][maxN],H[maxN];

LL cal(int len,int p){

    if(F[len][p] >= 0) return F[len][p];

    return 0;

}

void testcase(){

    cin >> N >> P >> Q;

    //

    F[1][1] = 1;

    FOR(i,0,N) FOR(j,0,N){

        if(j > i){

      F[i][j] = 0;

        }else if(i == j){

      F[i][j] = 1;

        }else if(j == 0){

      F[i][j] = 0;

        }else if(j == 1){

      F[i][j] = H[i ­ 1];

        }else F[i][j] = (F[i ­ 1][j ­ 1] + 1LL * (i ­ 1) * F[i ­ 1][j]) % MOD;

    }

    LL res = 0;

    FOR(i,1,N){

        res += ((cal(i ­ 1,P ­ 1) * cal(N ­ i,Q ­ 1)) % MOD * C[i ­ 1][N ­ 1]) % MOD;         res %= MOD;

    }

    cout << res;

}

void init(){

    H[0] = 1;

    REP(i,1,maxN) H[i] = (H[i ­ 1] * i) % MOD;

    REP(i,0,maxN) REP(j,0,maxN){

        if(i > j) C[i][j] = 0;

        else if(i == 0 || i == j) C[i][j] = 1;

        else if(i == 1) C[i][j] = j;

        else C[i][j] = (C[i ­ 1][j ­ 1] + C[i][j ­ 1]) % MOD;

    }

}

int main(){

    ios_base::sync_with_stdio(false);

Trang 11

    cout.tie();

    //

    freopen("QUEUE.INP","r",stdin);

    freopen("QUEUE.OUT","w",stdout);

    //cin >> tcases;

    init();

    FOR(i,1,tcases) testcase();

    return 0;

}

Ngày đăng: 25/11/2022, 20:45

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm