Thẻ: Giải đề thi học SINH GIỎI Tin học

6 Kinh nghiệm làm bài thi Học sinh giỏi Tin học Tỉnh 2026-2027

6 Kinh nghiệm làm bài thi Học sinh giỏi Tin học Tỉnh 2026- 2027 & Bí quyết giúp “chiến binh Tin” đạt điểm cao

Tin học là một môn học đặc thù. Trong quá trình học, rèn luyện và đặc biệt là khi đi thi, mọi thứ đều gắn liền với máy tính – thuật toán – tư duy logic. Vì vậy, để đạt được kết quả như mong muốn trong các kỳ thi Học sinh giỏi Tin học, các “chiến binh Tin” cần nắm chắc những kinh nghiệm làm bài thi rất riêng của môn học này.

Bài viết dưới đây tổng hợp những kinh nghiệm quý báu được truyền lại từ các anh chị đi trước, đã từng chinh chiến ở các kỳ thi HSG Tin học cấp huyện, cấp tỉnh, cấp quốc gia. Nếu bạn đang chuẩn bị bước vào kỳ thi quan trọng, đừng bỏ qua bài viết này!


1. Chuẩn bị kiến thức – Nền móng quyết định thành công

Bất kỳ cuộc thi nào cũng đòi hỏi kiến thức trong một phạm vi nhất định, và nhiệm vụ của bạn là phải nắm thật chắc phạm vi đó.

🔹 Các kỳ thi Học sinh giỏi Tin học thường có:

  • Thuật toán cơ bản & nâng cao

  • Cấu trúc dữ liệu

  • Xử lý mảng – chuỗi – đồ thị

  • Quy hoạch động, vét cạn, tham lam…

👉 Việc quan trọng nhất trước kỳ thi là bạn cần có cái nhìn tổng quát về toàn bộ kiến thức đã học.

⚠️ Lưu ý cực kỳ quan trọng:
Không nên “vùi đầu” học thêm kiến thức mới ngay sát ngày thi. Điều này rất dễ gây:

  • Rối kiến thức

  • Nhầm lẫn thuật toán

  • Làm lu mờ những gì bạn đã học kỹ trước đó

👉 Giai đoạn cận thi nên ôn tập – hệ thống – luyện đề, KHÔNG học lan man.


2. Tâm lý khi đi thi – Yếu tố sống còn

Nhiều người thường truyền tai nhau:

“Trước ngày thi không được chơi game, không xem phim, không nghe nhạc…”

❌ Thật ra, những điều cấm đoán này chỉ làm bạn căng thẳng hơn.

Lời khuyên thực tế:

  • Trước ngày thi khoảng 1–2 ngày, hãy:

    • Nghe nhạc

    • Xem phim nhẹ nhàng

    • Làm việc mình thích

👉 Mục tiêu là tạo tâm lý thoải mái nhất.

📌 Với môn Tin học:

  • Bạn không học thuộc lòng

  • Kiến thức không thể “bay mất” chỉ sau 1–2 ngày giải trí

Hãy tự tin!

5 bí kíp Chinh Phục Python ôn thi HSG Tin Học Cấp Tỉnh 2026 - 2027

5 bí kíp Chinh Phục Python ôn thi HSG Tin Học Cấp Tỉnh 2026 – 2027


3. Cách làm bài thi Tin học hiệu quả nhất

3.1. Khi vừa nhận đề – Đừng hoảng loạn

Những phút đầu tiên ai cũng hồi hộp. Việc bạn nên làm là:

✔️ Đọc bài 1 trước (thường là bài dễ, ăn điểm)
✔️ Nếu chưa bình tĩnh:

  • Tạo sẵn form chương trình

  • Tạo trước file INPUT – OUTPUT


3.2. Chiến thuật làm bài “vàng”

💡 Nguyên tắc bất di bất dịch:

👉 Bài dễ làm trước – bài khó làm sau
👉 Làm bài nào chắc bài đó

⏱️ Phân bổ thời gian hợp lý:

  • Bài 1: Làm nhanh nhất có thể

  • Bài 2 – 3:

    • Dành 10–15 phút suy nghĩ thuật toán

    • Nếu chưa ra tối ưu → Duyệt để ăn ~60% số test

📌 Lý do:

  • Đề Tin học thường cho 60% test dữ liệu nhỏ

  • Cài đặt duyệt khéo vẫn có điểm!

👉 Sau đó:

  • Còn thời gian thì cải tiến thuật toán

  • Ăn được thêm test nào là thêm điểm đó


3.3. Những lưu ý cực kỳ quan trọng

⚠️ Trước khi code:

  • Đặt đúng tên file chương trình

  • Đặt đúng tên file INPUT / OUTPUT

  • Xem kỹ giới hạn dữ liệu để khai báo mảng

⏰ Khi còn 10 phút cuối:

  • Kiểm tra lại toàn bộ

  • Tránh sai sót đáng tiếc khi nộp bài

👉 Nên luyện cách làm này với đề thi thử để không bị lúng túng.


4. Kiểm tra bài làm – Đừng bao giờ bỏ qua

Sau khi làm xong mỗi bài, hãy test thật nhiều.

✔️ Test nhỏ:

  • Tự sinh test

  • Kiểm tra tính đúng thuật toán

✔️ Test lớn:

  • Giá trị lớn nhất

  • Dữ liệu ngẫu nhiên
    👉 Phát hiện:

  • Tràn số

  • Lỗi mảng

  • Stack overflow

💡 Với những bài có thuật toán chậm nhưng đúng:

  • Viết chương trình O(N²) để kiểm tra

  • So sánh kết quả với chương trình tối ưu

👉 Nếu nhiều cách cho cùng kết quả, xác suất đúng rất cao!


5. Đọc kỹ đề bài – Càng đọc càng tốt

📌 Hãy đọc đề:

  • Trước khi làm

  • Trong khi làm

  • Sau khi làm xong

Rất nhiều trường hợp:
❌ Sai vì hiểu nhầm đề
❌ Thiếu chi tiết nhỏ nhưng mất nhiều điểm


6. Phong cách viết chương trình khi đi thi

Phong cách code tốt giúp bạn:

  • Làm nhanh hơn

  • Debug dễ hơn

  • Ít sai sót hơn

🔹 Ít biến → có thể đặt tên ngắn (a, b, x, y, f…)
🔹 Nhiều biến → đặt tên có ý nghĩa, tránh nhầm lẫn

👉 Nhầm biến là lỗi rất khó chịu khi đi thi!


Đừng đòi hỏi “hoàn hảo”

❌ Không phải bài nào cũng giải được 100%
✅ Mục tiêu là ăn điểm tối đa có thể

📌 Nhiều bài:

  • Chỉ cần thêm 1–2 điều kiện

  • Có thể tăng rất nhiều điểm

👉 Bình tĩnh đánh giá:

  • Có nên tiếp tục cải tiến không?

  • Hay chuyển sang bài khác sẽ hiệu quả hơn?


7. Sao lưu bài làm – Phòng hơn chữa

💾 Thỉnh thoảng hãy:

  • Lưu bài vào nhiều thư mục

  • Lưu ở nhiều ổ khác nhau

📁 Nên tạo:

  • 3 thư mục cho 3 bài

  • 1 thư mục riêng cho bài chuẩn bị nộp

👉 Tránh nộp nhầm file!


8. Đánh giá và quyết định thông minh

Trong phòng thi, bạn luôn phải đánh giá:

  • Độ khó từng bài

  • Xác suất đúng của thuật toán

  • Thời gian cần thiết

  • Khả năng test & debug

👉 Từ đó quyết định:

  • Làm bài nào trước

  • Có nên cải tiến tiếp không

  • Kiểm tra theo cách nào là tốt nhất

TÓM TẮT LẠI LÀ:

Để làm tốt bài thi HSG Tin học 2026-2027, bạn cần nắm vững kiến thức nền tảng, thực hành liên tục, hiểu rõ đề bài, quản lý thời gian hiệu quả, xây dựng chiến lược giải quyết vấn đề và giữ tâm lý vững vàng, tập trung vào tư duy thuật toán và code sạch, tối ưu hóa hiệu suất. 
Dưới đây là 6 kinh nghiệm cốt lõi:
  1. Nắm Chắc Nền Tảng + Thuật Toán:
    • Kiến thức cơ bản: Cấu trúc dữ liệu (mảng, xâu, danh sách liên kết, cây, đồ thị), giải thuật cơ bản (tìm kiếm, sắp xếp, quy hoạch động), lập trình hướng đối tượng (nếu có).
    • Thuật toán chuyên sâu: Hiểu sâu các thuật toán như Dijkstra, Floyd-Warshall, DFS, BFS, quy hoạch động (DP), greedy. Luyện tập trên các nền tảng như Codeforces, LeetCode, Topcoder để nhuần nhuyễn.
  2. Thực Hành “Học Đi Đôi Với Hành”:
    • Code thật nhiều: Code lại các bài tập đã giải, tự đặt ra các biến thể của bài toán.
    • Debug & Tối ưu: Rèn luyện kỹ năng tìm lỗi và tối ưu code, đặc biệt là về độ phức tạp thời gian và bộ nhớ (Time/Space Complexity).
  3. Phân Tích Đề & Chiến Lược Làm Bài:
    • Đọc kỹ đề: Xác định rõ ràng yêu cầu, điều kiện ràng buộc (constraints), ví dụ.
    • Lập kế hoạch: Với mỗi bài, hãy phác thảo hướng giải, thuật toán trước khi code. Thường chia nhỏ các bài toán lớn.
  4. Quản Lý Thời Gian Nghiêm Ngặt:
    • Ưu tiên: Giải quyết bài dễ trước, bài khó sau.
    • Kiểm tra thường xuyên: Dành thời gian cuối giờ để chạy thử với các test case biên (edge cases) và tối ưu hóa lại code nếu cần.
  5. Tư Duy Thuật Toán & Code “Sạch”:
    • Hiểu bản chất: Đừng cố gắng nhớ code mẫu, hãy hiểu cách thuật toán hoạt động.
    • Code rõ ràng: Dùng biến có ý nghĩa, comment hợp lý để dễ đọc, dễ sửa (cũng giúp bạn khi làm bài kiểm tra).
  6. Tâm Lý Vững Vàng & Sức Khỏe:
    • Giữ bình tĩnh: Khi gặp bài khó, hít thở sâu, quay lại đọc đề.
    • Ngủ đủ, ăn uống: Đảm bảo thể lực tốt nhất cho ngày thi chính thức

Kết luận

Thi Học sinh giỏi Tin học không chỉ là biết code, mà còn là:

  • Chiến thuật

  • Tâm lý

  • Kinh nghiệm phòng thi

Hy vọng những kinh nghiệm trên sẽ giúp các bạn tự tin hơn, làm bài hiệu quả hơn và đạt được kết quả cao nhất trong các kỳ thi sắp tới.

💪 Chúc các “chiến binh Tin học” thi tốt – code mượt – ăn trọn điểm!

Câu hỏi thường gặp về kinh nghiệm làm bài kỳ thi Học sinh giỏi Tin học Tỉnh 2026–2027

1. Kỳ thi Học sinh giỏi Tin học Tỉnh 2026–2027 gồm những dạng bài nào?

Kỳ thi Học sinh giỏi Tin học Tỉnh thường gồm các dạng bài như: xử lý mảng và chuỗi, thuật toán duyệt – vét cạn, quy hoạch động, đồ thị, toán tin và tối ưu thuật toán. Đề thi có nhiều mức độ từ cơ bản đến nâng cao để phân loại thí sinh.


2. Làm sao để đạt điểm cao trong kỳ thi Học sinh giỏi Tin học Tỉnh?

Để đạt điểm cao, học sinh cần nắm chắc kiến thức nền tảng, luyện đề thường xuyên, rèn kỹ năng phân tích bài toán, phân bổ thời gian hợp lý và áp dụng chiến thuật “bài dễ làm trước – bài khó làm sau”.


3. Có nên học thêm thuật toán mới ngay trước ngày thi không?

Không nên học thêm thuật toán mới ngay sát ngày thi Học sinh giỏi Tin học. Giai đoạn cận thi nên tập trung ôn lại kiến thức đã học, luyện đề và sửa lỗi thường gặp để tránh rối kiến thức và mất tự tin.


4. Khi không nghĩ ra thuật toán tối ưu thì nên làm gì?

Trong trường hợp chưa nghĩ ra thuật toán tối ưu, thí sinh nên cài đặt thuật toán đơn giản hoặc duyệt để ăn điểm một phần. Nhiều bài thi Tin học cho phép đạt 50–60% số điểm với dữ liệu nhỏ nếu cài đặt khéo léo.


5. Phân bổ thời gian làm bài thi Tin học như thế nào là hợp lý?

Thông thường, bài đầu tiên nên hoàn thành nhanh để lấy điểm chắc chắn. Các bài còn lại nên dành thời gian suy nghĩ thuật toán khoảng 10–15 phút trước khi code. Luôn chừa lại 10 phút cuối để kiểm tra và test chương trình.


6. Có cần test chương trình sau khi làm xong mỗi bài không?

Rất cần. Sau khi hoàn thành mỗi bài, học sinh nên test chương trình với dữ liệu nhỏ, dữ liệu biên và dữ liệu lớn để phát hiện lỗi logic, tràn số, vượt giới hạn bộ nhớ hoặc thời gian.


7. Nên sử dụng ngôn ngữ lập trình nào trong kỳ thi HSG Tin học?

Các ngôn ngữ phổ biến trong kỳ thi Học sinh giỏi Tin học là Pascal, C++ và Python. Học sinh nên chọn ngôn ngữ mình thành thạo nhất, hiểu rõ cách xử lý file, tốc độ và giới hạn bộ nhớ.


8. Phong cách viết code có ảnh hưởng đến kết quả thi không?

Có. Phong cách viết code rõ ràng, dễ đọc giúp giảm lỗi, debug nhanh và tiết kiệm thời gian trong phòng thi. Đây là yếu tố rất quan trọng khi thi Học sinh giỏi Tin học.


9. Có nên sao lưu bài làm trong quá trình thi không?

Nên sao lưu bài làm thường xuyên vào nhiều thư mục khác nhau để tránh sự cố kỹ thuật. Việc này giúp bảo vệ bài làm và tránh mất dữ liệu đáng tiếc.


10. Học sinh lớp mấy có thể tham gia thi Học sinh giỏi Tin học Tỉnh?

Thông thường, kỳ thi Học sinh giỏi Tin học Tỉnh dành cho học sinh THCS và THPT, tùy theo quy định của từng địa phương và từng năm học.


11. Bao lâu trước kỳ thi nên bắt đầu ôn luyện HSG Tin học?

Lý tưởng nhất là học sinh nên ôn luyện ít nhất 3–6 tháng trước kỳ thi. Việc chuẩn bị sớm giúp xây dựng nền tảng vững chắc và rèn kỹ năng làm bài hiệu quả.


12. Nguồn tài liệu nào phù hợp để ôn thi Học sinh giỏi Tin học?

Học sinh nên luyện các đề thi HSG Tin học các năm trước, tài liệu thuật toán cơ bản – nâng cao và các bài tập lập trình có lời giải chi tiết để nâng cao tư duy.

2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án

2 Đề thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang có đáp án

SỞ GIÁO DỤC VÀ ĐÀO TẠO
TỈNH TIỀN GIANG
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH

TrUnG học Cơ Sở

Năm học 2023-2024
Môn thi: TIN HỌC

Thời gian làm bài: 150 phút, không kể thời gian phát đề
Ngày thi: 27/3/2024

ĐỀ THI CHÍNH THỨC
(Đề thi có 04 trang, gồm 05 bài)

[trustindex no-registration=google]

Các đề ôn thi để chuẩn bị thi Cấp Huyện thì các em vào đường dẫn phía dưới để tham khảo giúp thầy nhé!

  1. Giải đề 1 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
  2. Giải đề 2 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
  3. Giải đề 3 thi học sinh giỏi tin học lập trình Python có đáp án
  4. Giải đề 4 ôn thi học sinh giỏi Tin Học THCS lập trình Python có đáp án
  5. Giải đề 5 và đáp án thi HSG Tin Python có số Pell.
  6. Giải đề 6 và đáp án bồi dưỡng học sinh giỏi tin 10 có số Armstrong
  7. Giải đề 7 và đáp án  thi học sinh giỏi tin học 10 Python có số Collatz
  8. Giải đề 8 trong 20 đề Bồi dưỡng học sinh giỏi Tin học lớp 9 có số Kaprekar.
  9. Giải đề 9 thi HSG Tin học lớp 8 lập trình Python có số Happy
  10. Giải đề 10 thi tin học trẻ THPT có bài  In các xâu con trong xâu s.
TỔNG quan các bài thi

Thứ tựTên bàiFile chương trìnhFile dữ liệu vàoFile kết quả
1Tiền điệnELCOST.*ELCOST.INPELCOST.OUT
2Độ mạnh của xâuSTRONG.*STRONG.INPSTRONG.OUT
3Tổng dòng cộtSUM.*SUM.INPSUM.OUT
4Xâu lặpSUBSTR.*SUBSTR.INPSUBSTR.OUT
5Phần thưởngGIFT.*GIFT.INPGIFT.OUT

Dấu * được thay thế bởi PAS, CPP, PY của ngôn ngữ lập trình được sử dụng tương ứng là Free Pascal, C++, Python hoặc phần mở rộng tương ứng với NNLT khác.

 

 

 

Học sinh chỉ được chọn một trong các môi trường quy định ở trên lập trình để làm toàn bộ bài thi.

Bài 1: Tiền điện (4,0 điểm) Tên chương trình: ELCOST.*

Giá bán lẻ điện sinh hoạt được tính theo 3 bậc gồm:

  • Bậc 1: 100 Kwh đầu tiên, có giá là 2500 đồng/Kwh
  • Bậc 2: Từ Kwh 101 đến 200, có giá là 3000 đồng/Kwh
  • Bậc 3: Từ Kwh 201 trở lên, có giá là 3500 đồng/Kwh

Yêu cầu: Tính tổng tiền điện phải trả của một khu phố gồm n hộ gia đình.

Dữ liệu vào: Đọc từ file văn bản ELCOST.INP gồm hai dòng:

  • Dòng 1: Chứa số nguyên dương n (1 < n < 104) là số lượng hộ gia đình.
  • Dòng 2: Chứa n số nguyên dương ai (1 < i < n, 1 < ai < 104), với mỗi ai là số Kwh sử dụng của hộ gia đình thứ i. Giữa hai số liên tiếp được cách nhau bởi một dấu cách.

Kết quả: Ghi ra file văn bản ELCOST.OUT một số nguyên dương là tổng tiền điện của n hộ gia đình.

Ví dụ:

ELCOST.INPELCOST.OUT
3

15 165 205

1050000

 

 

Giải thích:

Có 3 hộ gia đình sử dụng số Kwh lần lượt là: 15, 165 và 205

Số tiền hộ thứ nhất: 15*2500 = 37500

Số tiền hộ thứ hai: 100*2500 + 65*3000 = 445000

Số tiền hộ thứ ba: 100*2500 + 100*3000 + 5*3500 = 567500

Nên tổng số tiền là: 37500 + 445000 + 567500 = 1050000

Bài 2: Độ mạnh của xâu (4,0 điểm) Tên chương trình: STRONG.*

Cho xâu s chỉ gồm các kí tự in thường trong bảng chữ cái Tiếng Anh và kí tự số từ ‘0’ đến ‘9’.

Yêu cầu: Tìm độ mạnh của xâu. Biết rằng độ mạnh của xâu là tích của số kí tự phân biệt xuất hiện trong xâu với số lần xuất hiện nhiều nhất của một kí tự trong xâu.

Dữ liệu vào: Đọc từ file văn bản STRONG.INP gồm một dòng chứa xâu s có chiều dài không quá 103 kí tự. Trong xâu không chứa khoảng trắng và kí tự đặc biệt.

Kết quả: ghi ra file văn bản STRONG.OUT một số nguyên dương là độ mạnh của xâu.

Ví dụ:

STRONG.INPSTRONG.OUT
xy11z2yyzxy0y30
ggggg__________________5

Giải thích:

Ở test 1: Xâu s = ‘xy11z2yyzxy0y’. Số kí tự phân biệt trong xâu s là 6 (gồm ‘x’, ‘y’, ‘1’, ‘z’, ‘2’, ‘0’) và số lần xuất hiện nhiều nhất của một kí tự là 5 (kí tự ‘y’). Nên độ mạnh của xâu là 6 * 5 = 30.

Ở test 2: Xâu s = ‘ggggg’. Số kí tự phân biệt trong xâu s là 1 (kí tự ‘g’) và số lần xuất hiện nhiều nhất là 5. Nên độ mạnh của xâu là 1 * 5 = 5.

Bài 3: Tổng dòng cột (4,0 điểm)  Tên chương trình: SUM.*

Cho ma trận a gồm m dòng và n cột. Ma trận b được tạo bằng cách: bij = (tổng dòng i trên ma trận a + tổng cột j trên ma trận a) – aij Yêu cầu: Tìm giá trị nhỏ nhất trong ma trận b.

Dữ liệu vào: Đọc từ file văn bản SUM.INP gồm nhiều dòng:

  • Dòng 1: Chứa hai số nguyên dương theo thứ tự là m, n (1 < m, n < 102). Giữa hai số cách nhau bởi một dấu cách.
  • m dòng tiếp theo, mỗi dòng chứa n số nguyên dương aij (0 < aij < 109). Giữa hai số liên tiếp được cách nhau bởi một dấu cách.

Kết quả: Ghi ra file văn bản SUM.OUT một số nguyên dương là giá trị nhỏ nhất tìm được trong ma trận b.

Ví dụ:

SUM.INPSUM.OUT
2 310
3 2 4
2 1 5

Giải thích: Ma trận b là 11 10 14 11 10 12

Nên giá trị nhỏ nhất trong ma trận b là 10.

Bài 4: Xâu lặp (4,0 điểm) Tên chương trình: SUBSTR.*

Xâu lặp là một xâu có đoạn đầu ngắn nhất của nó được lặp lại nhiều lần. Ví dụ ‘xyxyxyxy’ là một xâu lặp vì nó có đoạn đầu ngắn nhất là ‘xy’ được lặp lại nhiều lần. ‘xyxy’ cũng được lặp lại nhưng không được tính là đoạn đầu vì nó không ngắn nhất.

Yêu cầu: Cho n xâu. Hãy ghép đoạn đầu của mỗi xâu lặp theo thứ tự xuất hiện của xâu (nếu xâu đó là xâu lặp).

Dữ liệu vào: Đọc từ file văn bản SUBSTR.INP gồm nhiều dòng:

  • Dòng 1: Chứa số nguyên dương n (1 < n < 103) là số lượng xâu.
  • n dòng tiếp theo, mỗi dòng chứa một xâu có độ dài không quá 103 kí tự.

Lưu ý: Trong xâu chỉ chứa kí tự thường từ ‘a’ đến ‘z’ trong bảng chữ cái Tiếng Anh (không chứa khoảng trắng, kí tự số và các kí tự đặc biệt). Dữ liệu vào đảm bảo luôn có xâu lặp.

Kết quả: Ghi ra file văn bản SUBSTR.OUT là xâu ghép thu được.

Ví dụ:

SUBSTR.INPSUBSTR.OUT
4xyabach
xyxyxyxy
abcab
abacabac
hhh

 

 

Giải thích:

Trong 4 xâu, có 3 xâu lặp theo thứ tự là: ‘xyxyxyxy’, ‘abacabac’, ‘hhh’. Ba đoạn đầu tương ứng là ‘xy’, ‘abac’, ‘h’. Nên xâu ghép là: ‘xyabach’.

Bài 5: Phần thưởng (4,0 điểm)  Tên chương trình: GIFT.*

An được mẹ cho một số phần thưởng. Có nhiều phần thưởng được xếp thành một hàng, mỗi phần thưởng có giá trị trong khoảng từ 1 đến 109. An muốn chọn những phần thưởng có giá trị tăng dần liên tiếp nhiều nhất.

Yêu cầu: Cho biết số lượng phần thưởng mà An chọn được như mong muốn.

Dữ liệu vào: Đọc từ file văn bản GIFT.INP gồm một dòng chứa các số nguyên dương là giá trị của các phần thưởng. Giữa hai số liên tiếp nhau cách nhau bởi một dấu cách.

Kết quả: Ghi ra file văn bản GIFT.OUT một số nguyên dương là số lượng phần thưởng An chọn được.

Ví dụ:

GIFT.INPGIFT.OUT
2 4 3 5 7 8 64
1 5 4 3 5 6 6 5 8 63

 

 

Giải thích:

Ở test 1: Độ dài phần thưởng liên tiếp tăng dần nhiều nhất là 4 (2 4 3 5 7 8 6)

Ở test 2: Độ dài phần thưởng liên tiếp tăng dần nhiều nhất là 3 (1 5 4 3 5 6 6 58 6) ……. -…………… ……………….. HET……… –

Thí sinh không được sử dụng tài liệu. Giám thị không giải thích gì thêm.

Họ và tên thí sinh:     Số báo danh:

PDF Loading...

Đáp án bài 1: Tiền điện (ELCOST)

Ý tưởng tối ưu

  • Tính tiền theo từng mức giá:
    • 100 Kwh đầu tiên: 2500 đ/Kwh
    • 101 → 200 Kwh: 3000 đ/Kwh
    • 201 Kwh trở lên: 3500 đ/Kwh
  • Duyệt qua từng hộ gia đình, tính tổng tiền.

Code Python

import sys

sys.stdin = open("ELCOST.INP", "r")
sys.stdout = open("ELCOST.OUT", "w")

n = int(input().strip())
ds_kwh = list(map(int, input().split()))

tong_tien = 0
for so_kwh in ds_kwh:
    if so_kwh <= 100:
        tong_tien += so_kwh * 2500
    elif so_kwh <= 200:
        tong_tien += 100 * 2500 + (so_kwh - 100) * 3000
    else:
        tong_tien += 100 * 2500 + 100 * 3000 + (so_kwh - 200) * 3500

print(tong_tien)

Độ phức tạp: O(n).


Đáp án bài 2: Độ mạnh của xâu (STRONG)

Ý tưởng tối ưu

  • Sử dụng dictionary (hash map) để đếm số lần xuất hiện của từng ký tự.
  • Tìm số ký tự phân biệt (O(1) mỗi ký tự).
  • Tìm số lần xuất hiện nhiều nhất (O(1) mỗi lần cập nhật).

Code Python

 

import sys
from collections import Counter

sys.stdin = open("STRONG.INP", "r")
sys.stdout = open("STRONG.OUT", "w")

s = input().strip()
tan_suat = Counter(s)

so_ky_tu_phan_biet = len(tan_suat)
tan_suat_max = max(tan_suat.values())

print(so_ky_tu_phan_biet * tan_suat_max)

 

Độ phức tạp: O(n).


Đáp án bài 3: Tổng dòng cột (SUM)

Ý tưởng tối ưu

  • Tiền xử lý tổng hàng và tổng cột để tính giá trị của ma trận B trong O(1).
  • Duyệt nhanh để tìm giá trị nhỏ nhất.

Code Python

 

import sys

sys.stdin = open("SUM.INP", "r")
sys.stdout = open("SUM.OUT", "w")

m, n = map(int, input().split())
ma_tran = [list(map(int, input().split())) for _ in range(m)]

tong_dong = [sum(hang) for hang in ma_tran]
tong_cot = [sum(ma_tran[i][j] for i in range(m)) for j in range(n)]

gia_tri_nho_nhat = float('inf')
for i in range(m):
    for j in range(n):
        b_ij = tong_dong[i] + tong_cot[j] - ma_tran[i][j]
        gia_tri_nho_nhat = min(gia_tri_nho_nhat, b_ij)

print(gia_tri_nho_nhat)

 

Độ phức tạp: O(m × n).


Đáp án bài 4: Xâu lặp (SUBSTR)

Ý tưởng tối ưu

  • Duyệt từ 1 → len(s)//2 để tìm đoạn lặp ngắn nhất.
  • Kiểm tra nhanh bằng cách ghép đoạn lặp nhiều lần.

Code Python

import sys

sys.stdin = open("SUBSTR.INP", "r")
sys.stdout = open("SUBSTR.OUT", "w")

def tim_doan_dau(xau):
    n = len(xau)
    for do_dai in range(1, n + 1):
        if n % do_dai == 0 and xau == xau[:do_dai] * (n // do_dai):
            return xau[:do_dai]
    return xau

n = int(input().strip())
ket_qua = []
for _ in range(n):
    xau = input().strip()
    ket_qua.append(tim_doan_dau(xau))

print("".join(ket_qua))

Độ phức tạp: O(n²) trong trường hợp xấu nhất, nhưng thường nhanh hơn.


Đáp án bài 5: Phần thưởng (GIFT)

Ý tưởng tối ưu

  • Duyệt 1 lần qua danh sách để tìm dãy tăng dần dài nhất (O(n)).

Code Python

 

import sys

sys.stdin = open("GIFT.INP", "r")
sys.stdout = open("GIFT.OUT", "w")

phan_thuong = list(map(int, input().split()))

max_do_dai = 1
do_dai_hien_tai = 1

for i in range(1, len(phan_thuong)):
    if phan_thuong[i] > phan_thuong[i - 1]:
        do_dai_hien_tai += 1
    else:
        max_do_dai = max(max_do_dai, do_dai_hien_tai)
        do_dai_hien_tai = 1  

print(max(max_do_dai, do_dai_hien_tai))

 

Độ phức tạp: O(n).


Tóm tắt độ phức tạp

Bài toánTối ưu chínhĐộ phức tạp
ELCOSTDuyệt danh sách tính tiền nhanhO(n)
STRONGHash map để đếm tần suấtO(n)
SUMTiền xử lý tổng hàng/cộtO(m × n)
SUBSTRKiểm tra xâu lặp nhanhO(n²) (trường hợp xấu nhất)
GIFTDuyệt 1 lần để tìm dãy tăng dài nhấtO(n)

Tất cả các bài toán đều chạy tối ưu và có thể xử lý nhanh dữ liệu lớn!

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Khóa học Python online từ cơ bản đến nâng cao

 

Khóa học Python online từ cơ bản đến nâng cao

14 đề bồi dưỡng học sinh giỏi tin học lớp 7, 8, 9 THCS mới nhất

Để có thể thi đậu kỳ thi học sinh giỏi tin học sắp tới các em chỉ cần ” Cài Cuốc “ các dạng đề của thầy cho là có thể dễ dàng thi đậu điểm cao trong kỳ thi khó khăn và đầy thử thách phía trước! Để làm được điều đó các em phải giải hết 14 đề bồi dưỡng học sinh giỏi tin học lớp 7, 8, 9 THCS mới nhất ! Thầy chúc tất cả các em điều đạt được kết quả tốt các em nhé ! Rồi hãy bắt tay vào giải ngay 14 đề bồi dưỡng học sinh giỏi tin học thôi nào!

Đây đã là đề thi số 14 Đề thi học sinh giỏi Tin học THCS có đáp án 

Các đề thi ở cấp huyện cần luyện tập nâng cao:

  1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học

nguồn: 300bàicode.vn

Rồi còn chờ gì nữa hãy nhanh tay giải ngay đề 14  thi học sinh giỏi Tin Học Python cấp huyện !

Thứ tựTên bàiFile

chương

trình

File dữ liệu vàoFile kết quả
Bài 1Phân loại bằng lái xe hạng AD151.*D151.INPD151.0UT
Bài 2Tính tổng những số có tổng chữ số là số nguyên tố từ m đến nD152.*D152.INPD152.0UT
Bài 3Đếm số lượng số nguyên tố trong mảngD153.*D153.INPD153.0UT
Bài 4Tìm tên trong xâu họ và tênD154.*D154.INPD154.0UT
Bài 5Tách các thành phần trong địa chỉD155-*D155.INPD155.0UT

Bài 1: (4 điểm) Phân loại bằng lái xe hạng A ?

  • Diễn giải:
    1.  Bằng lái xe hạng A1: Người lái xe mô tô hai bánh có dung tích xy lanh từ 50 cm3 đến dưới 175 cm3.
    2. Bằng lái xe hạng A2: Người lái xe để điều khiển xe mô tô hai bánh có dung tích xy lanh từ 175 cm3 trở lên.
    3. Bằng lái xe hạng A3: Hạng A3 cấp cho người lái xe để điều khiển xe mô tô ba bánh.
  • Input: Hai số nguyên m,n trên một dòng, cách nhau bởi dấu cách, cho biết loại xe mấy bánh và dung tích xy lanh ( 2<=m<=3, 50<=n<500).
  • Output: Hạng của bằng lái xe
  • Ví dụ:
InputOutput
2 70A1
3 100A3

Bài 2: (4 điểm) Tính tổng những số có tổng chữ số là số nguyên tố từ m đến n ?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • Tính tổng những số có tổng chữ số là số nguyên tố từ m đến n.
  • Input: Hai so nguyên dương m và n (0<m, n<106), trên một dòng, cách nhau bởi dấu cách.
  • Output: Là tông những số có tổng chữ số là số nguyên tố từ m đến n.
  • Ví dụ:
InputOutput
11 1537
2 1340

Bài 3: ( 4 điểm ) Đếm số lượng số nguyên tố trong mảng ?

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: aO, al, a2, …. Đếm số lượng số nguyên tố trong mảng
  • Input: Mồi dòng một số nguyên có giá trị tuyệt đối không vượt quá 105.
  • Output: Số lượng số nguyên tố trong mảng.
  • Ví dụ:
InputOutput
92
6
3
8
10
7
-2
73
3
8
0
2

Bài 4: (4 điểm) Tìm tên trong xâu họ và tên ?

  • Diễn giải:
    • Nhập vào n xâu họ và tên. Tìm tên trong từng xâu đó
  • Input: Dòng một là số nguyên n (0<n<103). n dòng tiếp theo, mỗi dòng là một xâu họ và tên của một người, có độ dài không vượt quá 102, chứa các ký tự là chữ cái và các dấu cách.
  • Output: Tìm tên trong từng xâu họ và tên, in các tên theo thứ tự xuất hiện của input, mỗi tên một dòng
  •  Ví  dụ:

Input

Output

8Thinh
Pham Quoc ThinhPhat
Tran Minh PhatKhoa
Dinh Nguyen KhoaNhien
Hoang An NhienThanh
Mai Nguyen Tan ThanhAnh
Nguyen Hoai Minh AnhAnh
Vo Hoai AnhKhang
Tran Duy Khang

 

13Long
Tran Tien LongNam
Nguyen Huu NamPhat
Nguyen Minh PhatDung
Nguyen Tan DungDuy
Le Hoai Bao DuyAnh
Tran Ngoe Van AnhDuy
Nguyên Duc DuyPhuc
Pham Nguyên Thien PhucDang
Nguyên Minh DangLoc
Duong Phu LocSang
Pham Thanh SangVan
Nguyên Thi Bao VanMan
Le Nguyên Trieu Man

 

Bài 5: (4 điểm) Tách các thành phần trong địa chỉ ?

  • Diễn  giải:
    • Nhập vào một chuỗi s là địa chỉ gồm số nhà, tên đường, ấp, xà, huyện, tỉnh. Tách các phần trong địa chỉ
  • Input:
    • Chuỗi s trên một dòng, có độ dài không vượt quá 10 mũ 3,
    • Chứa các ký tự là chữ cái, chữ số, ký hiệu, mỗi thành phần được phân tách bởi dấu phẩy (,) theo thứ tự là số nhà, tên đường, ấp, xà, huyện, tỉnh.
  • Output: In các thành phần tách được trên từng dòng
  •  Ví dụ:

Input

Output

123/5, duong huyen 35, ap Vinh Thanh, xa Vinh Kim, huyen Chau Thanh, tinh Tien Giang123/5

duong huyen 35 ap Vinh Thanh xa Vinh Kim huy en Chau Thanh tình Tien Giang

5, duong Hoa Binh, ap Hanh Phuc, xa Vui Ve, huyen Niem No, tinh Khong Quau5

duong Hoa Binh ap Hanh Phuc xa Vui Ve huyen Niem No tinh Khong Quau

Đáp án bài 1: (4 điểm) Phân loại bằng lái xe hạng A ?

 

import sys
sys.stdin=open('D151.INP','r')
sys.stdout=open('D151.OUT','w')
m,n=map(int,input().split())
if m==2:
    if 50<=n<175:
        print('A1')
    elif n>175:
        print('A2')
else:
    print('A3')

 

Đáp án bài 2: (4 điểm) Tính tổng những số có tổng chữ số là số nguyên tố từ m đến n ?

 

import sys
sys.stdin=open('D152.INP','r')
sys.stdout=open('D152.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
def tcs(n):
    t=0
    while n>0:
        t+=n%10
        n//=10
    return t
m,n=map(int,input().split())
tong=0
for i in range(m,n+1):
    if ktnt(tcs(i)):
        tong+=i
print(tong)

 

Đáp án bài 3: ( 4 điểm ) Đếm số lượng số nguyên tố trong mảng ?

 

import sys
sys.stdin=open('D153.INP','r')
sys.stdout=open('D153.OUT','w')
def ktnt(n):
    i=2
    while i*i<=n and n%i!=0:
        i+=1
    return i*i>n and n>1
a=[]
while True:
    try:
        line=input()
        try:
            x=int(line)
            a.append(x)
        except ValueError:
            break
    except EOFError:
        break
dem=0
for i in range(len(a)):
    if ktnt(a[i]):
        dem+=1
print(dem)

 

Đáp án bài 4: (4 điểm) Tìm tên trong xâu họ và tên ?

 

import sys
sys.stdin=open('D154.INP','r')
sys.stdout=open('D154.OUT','w')
n=int(input())
a=[]
for i in range(n):
    a.append(input())
b=[]
for i in range(len(a)):
    x=a[i].split()
    b.append(x[-1])
for i in range(len(b)):
    print(b[i])

 

Đáp án bài 5: (4 điểm) Tách các thành phần trong địa chỉ ?

 

import sys
sys.stdin=open('D155.INP','r')
sys.stdout=open('D155.OUT','w')
#Cách 1
n=input().split(',')
for i in n:
    print(i)

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !

 

 

12 đề và đáp án thi HSG tin Python mới nhất năm 2024

Rất vui được gặp lại các em chuẩn bị thi học sinh giỏi môn tin học cấp huyện và cấp tỉnh. Để chuẩn bị tốt cho kỳ thi học sinh giỏi môn tin học sắp tới thầy đã soạn ra 12 đề và đáp án thi HSG tin Python mới nhất năm 2024. Để các em có bước chuẩn bị ôn luyện quan trọng để chuẩn bị kỳ thi khó khăn sắp tới. Nào chúng ta hãy cùng nhau giỏi đề 12 ở phía dưới ngay nào!

Đây đã là đề thi số 12 đề và đáp án thi HSG Tin Python cấp huyện 

tai ngay vi tính tấn dân

  • Còn em nào muốn học lý thuyết thì hãy vào đường dẫn phía dưới nhé ! chép từ bài 1 đến bài 21 là giỏi liền kha kha ! có tài liệu pdf tải về thoải mái !
    1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học

Rồi còn chờ gì nữa hãy vào giải ngay đề 12  thi HSG Tin Python cấp huyện 

Số thứ tựTên bàiFile

chương trình

File dữ liệu

vào

File kết quà
Bài 1Phân loại sức mạnh của dàn PCD131 *D131.INPD131.OUT
Bài 2Đếm số lượng số hoàn hảo từ m đến nD132.*D132.INPD132.OUT
Bài 3Sắp xếp thứ tự các số trong mảng giảm dầnD133 *D133.INPD133.OUT
Bài 4Tìm số Iớn nhất trong xâu sD134.*D134.INPD134.OUT
Bài 5Sắp xếp danh sách theo điểm giảm dầnD135.*D135.INPD135.OUT

Bài 1: (4 điểm) Phân loại sức mạnh của dàn PC ?

  • Diễn giải:
    1. Siêu mạnh-Cao cấp: Điểm từ 800 đến 1000
    2. Mạnh-Trung cấp: Điểm từ 600 đến 799
    3. Vừa-Cơ bản: Điểm từ 500 đến 599
    4. Chậm-Chưa đạt: Điểm dưới 500
  • Input: Số nguyên X là điểm của dàn PC (0<=x<=1000)
  • Output: Loại theo mô tả trên
  • Ví dụ về input và output:
inputoutput
620Manh-Trung cap
801Sieu manh-Cao cap

Bài 2: (4 điểm) Đếm số lượng số hoàn hảo từ m đến n?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • Đếm xem trong các số nguyên từ m đến n, có bao nhiêu số hoàn hảo.
    • Số hoàn hảo (hay còn gọi là số hoàn chỉnhsố hoàn thiện hoặc số hoàn thành) là một số nguyên dương mà tổng các ước nguyên dương thực sự của nó (các số nguyên dương bị nó chia hết ngoại trừ nó) bằng chính nó.
    • Ví dụ số hoàn hảo:
    • 6=1+2+3
    • 28=1+2+4+7+14
    • 496=1+2+4+8+16+31+62+124+248
  • Input: Hai số nguyên dương m và n trên cùng một dòng, cách nhau bởi dấu cách.
  • Output: Số lượng số hoàn hảo từ m đến n.
  • Ví dụ:
InputOutput
11 150
2 131

Bài 3: (4 điểm ) sắp xếp trong mảng theo thứ tự giảm dần ?

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: ao, ai, a2, …. sắp xếp thứ tự các số trong mảng giảm dần và in mảng đã sắp xếp.
  • Input: Một dòng chửa các số nguyên có giá trị tuyệt đối không vượt quá 10\ cách nhau bời dảu cách.
  • Output: In mảng đà sấp xcp, mồi số trên một dòng
  •  Ví dụ:
 InputOutput
9 -6 3 8 10 -7 -210

9

8

3

-2

-6

-7

 

7 3 8 0 28

7

3

2

0

Bài 4: (4 điểm) Tìm số nguyên lớn nhất trong xâu s?

  • Diễn giải:
    • Nhập vào một xâu s.
    • Tìm số nguyên lớn nhất trong xâu s
  • Input:
    • Xâu s trên một dòng, có độ dài không vượt quá 10 mũ 5, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
    • Các số có trong xâu không vượt quá 109
  • Output: Số nguyên lớn nhất trong xâu s. Nếu không có số nào thì in “-“
  • Ví dụ:
InputOutput
Ky thi hoc sinh gioi dien ra 1 ngay trong thang 2, co 5 bai, tong cong 20 di em, cham trong 3 ngay co ket qua20
Hom nay toi mua 5 quyen tap, 2 quyen sach va 4 cay viet5

Bài 5: (4 điểm) sắp xếp danh sách theo điểm giảm dần?

  • Diễn giải:
    • Nhập vào danh sách lớp và điểm của từng học sinh. Sắp xếp danh sách theo điểm giảm dần
    • Input: Mỗi dòng là một xâu họ tên và điểm của một người, có độ dài không vượt quá 102, chứa các kỷ tự là chữ cái và các dấu cách, điểm là số thực từ 0 đến 10.
  • Output: Danh sách đã sắp xếp, mỗi dòng gồm họ tên và điểm (hiển thị một chữ số thập phân)
  • Ví dụ:
InputOutput
Pham Quoc Thinh 7

Tran Minh Phat 6.3

Dinh Nguyen Khoa 9

Hoang An Nhien 9

Mai Nguyen Tan Thanh 8.7

Nguyên Hoai Minh Anh 8.8

Vo Hoai Anh 8

Tran Duy Khang 7.8

Dinh Nguyen Khoa 9.0

Hoang An Nhien 9.0

Nguyen Hoai Minh Anh 8.8

Mai Nguyen Tan Thanh 8.7

Vo Hoai Anh 8.0

Tran Duy Khang 7.8

Pham Quoc Thinh 7.0

Tran Minh Phat 6.3

Ví dụ 2:

InputOutput
Tran Tien Long 8.5

Nguyên Huu Nam 6

Nguyên Minh Phat 7.2

Nguyên Tan Dung 7.5

Le Hoai Bao Duy 5.0

Tran Ngoe Van Anh 5.0

Pham Nguyên Thien Phuc 8.3

Nguyên Minh Dang 5.0

Duong Phu Loc 6.8

Tran Tien Long 8.5

Pham Nguyên Thien Phuc 8.3

Nguyên Tan Dung 7.5

Nguyên Minh Phat 7.2

Duong Phu Loc 6.8

Nguyên Huu Nam 6.0

Le Hoai Bao Duy 5.0

Tran Ngoe Van Anh 5.0

Nguyên Minh Dang 5.0

Đáp án bài 1: (4 điểm) Phân loại sức mạnh của dàn PC

 

import sys
sys.stdin=open('D131.INP','r')
sys.stdout=open('D131.OUT','w')
n=int(input())
if 800<=n<=1000:
    print('Sieu manh-Cao cap')
elif 600<=n<799:
    print('Manh-Trung cap')
elif 500<=n<=599:
    print('Vua-Co ban')
elif n<500:
    print('Cham-Chua dat')

 

Đáp án bài 2: (4 điểm) Đếm số lượng số hoàn hảo từ m đến n

 

import sys
sys.stdin=open('D132.INP','r')
sys.stdout=open('D132.OUT','w')
def kthh(n):
    s=0
    for i in range(1,n):
        if n%i==0:
            s+=i
    return n>1 and s==n
m,n=map(int,input().split())
dem=0
for i in range(m,n+1):
    if kthh(i):
        dem+=1
print(dem)

 

Đáp án bài 3: (4 điểm ) sắp xếp trong mảng theo thứ tự giảm dần

 

import sys
sys.stdin=open('D133.INP','r')
sys.stdout=open('D133.OUT','w')
a=list(map(int,input().split()))
a.sort()
a=a[::-1]
print(*a,sep='\n')

 

Đáp án bài 4: (4 điểm) Tìm số nguyên lớn nhất trong xâu s

 

import sys,re
sys.stdin=open('D134.INP','r')
sys.stdout=open('D134.OUT','w')
s=input()
s1=re.sub('[^0-9]+',' ',s).split()
a=[]
for i in range(len(s1)):
    a.append(int(s1[i]))
if len(s1)==0:
    print('-')
else:
    print(max(a))

 

Đáp án bài 5: (4 điểm) sắp xếp danh sách theo điểm giảm dần

import sys
sys.stdin=open('D135.INP','r')
sys.stdout=open('D135.OUT','w')
def laydiem(s):
    s=s.split()
    return float(s[-1])
a=[]
while True:
    try:
        line=input()
        try:
            x=int(line)
        except ValueError:
            break
    except EOFError:
        break
kq=sorted(a,key=laydiem,reverse=True)
for i in range(len(kq)):
    x=kq[i].split()
    diem=float(x[-1])
    x.pop(-1)
    hoten=' '.join(x)
    print(hoten,'%0.1f'%diem)

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !

 

 

 

Đề thi hsg tin 11 python có đáp án hay nhất 2024

Chào mừng các em đã quay lại làm tiếp Đề thi hsg tin 11 python có đáp án hay nhất 2024. Để cho các em có bước chuẩn bị tốt hơn ở kỳ thi khó khăn sắp tới. Rồi hãy nhanh tay giải đề phía dưới ngay nhé !

Đây đã là đề thi thứ 11 chuyên dùng để bồi dưỡng học sinh giỏi Tin học lớp 9

  • Rồi các em nếu chưa làm từ đề 1 hãy giải từ đề 1 trước rồi mới làm đề này các bạn nhé tại các đề từ dễ đến nâng cao!
  • Các đề ôn thi để chuẩn bị thi Cấp Huyện thì các em vào đường dẫn phía dưới để tham khảo giúp thầy nhé!
    1. Giải đề 1 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
    2. Giải đề 2 và đáp án thi Học sinh giỏi tin học Python C++ THCS có tài liệu ôn thi
    3. Giải đề 3 thi học sinh giỏi tin học lập trình Python có đáp án
    4. Giải đề 4 ôn thi học sinh giỏi Tin Học THCS lập trình Python có đáp án
    5. Giải đề 5 và đáp án thi HSG Tin Python có số Pell.
    6. Giải đề 6 và đáp án bồi dưỡng học sinh giỏi tin 10 có số Armstrong
    7. Giải đề 7 và đáp án  thi học sinh giỏi tin học 10 Python có số Collatz
    8. Giải đề 8 trong 20 đề Bồi dưỡng học sinh giỏi Tin học lớp 9 có số Kaprekar.
    9. Giải đề 9 thi HSG Tin học lớp 8 lập trình Python có số Happy
    10. Giải đề 10 thi tin học trẻ THPT có bài  In các xâu con trong xâu s.
    11. Đề thi hsg tin 11 python có đáp án hay nhất 2024
    12. 12 đề và đáp án thi HSG tin Python có sắp xếp
    13. Đề 13 thi học sinh giỏi Tin học THCS có đáp án hay nhất năm 2024.
    14. 14 đề bồi dưỡng học sinh giỏi tin học lớp 7, 8, 9 THCS mới nhất !
    15. 15 Đề thi học sinh giỏi Tin học lớp 9 cấp huyện hay nhất 2024 – 2025
    16. 16 Đề bài tập Python có lời giải PDF thi HSG cấp huyện mới nhất
    17. 17 đề thi tin học trẻ có Đáp Án python THCS cấp huyện PDF
    18. 18 Đề thi học sinh giỏi Tin học THCS có đáp ÁN dễ học nhất năm 2025
    19. 19 thi HSG Tin 9 C ++ hoặc Python có đáp án
    20. 100 đề và đáp án thi HSG tin Python cấp huyện 2025
    1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học 

Nguồn: 300bàicode.vn

Các em hãy giải ngay đề thứ 11 bồi dưỡng học sinh giỏi thi cấp huyện

 

Thứ tựTên bàiFile

chương

trình

File dữ liệu

vào

File kết quả
Bài 1Phân loại mức độ tiêu thụ điện của thiết bịD121 *D121.INPD121.OUT
Bài 2In những số chính phương từ m đến nD122.*D122.INPD122.OUT
Bài 3Sắp xếp thứ tự các số trong mảng tăng dầnD123.*D123.INPD123.OUT
Bài 4ln các số có trong xâu sD124.*D124.INPD124.OUT
Bài 5In các chuỗi con đối xứng trong chuỗi sD125.*D125.INPD125.OUT

Bài 1 ( 4 điểm ):  Phân loại mức tiêu thụ điện của thiết bị ?

  • Diễn giải:
    1. A: Dưới 50 w/h
    2. B; Từ 51 w/h đến 100 w/h
    3. C: Từ 101 w/h đến 200 w/h
    4. D: Từ 201 w/h đến 500 w/h
    5. E: Trên 500 w/h
  • Input: Số nguyên X là mức độ tiêu thụ điện của thiết bị (0<x<=10000)
  • Output: Loại theo mô tả trên
  • Ví dụ về input và input:
inputinput
49A
175c

 

Bài 2: (4 điểm) In những số chính phương từ m đến n?

  • Diễn giải:
    • Nhập vào hai số nguyên m và n (m<=n).
    • In ra những số chính phương từ m đến n
    • Input: Hai số nguyên dương m và n (0<m, n<106), mỗi số trên một dòng.
  • Output: Các số chính phương từ m đến n trên cùng một dòng, các số cách nhau một dấu cách. Nếu không có số chính phương nào từ m đến n thì in dấu “-“.
  • Ví dụ:
 InputOutput
11 15

 

249
9

Bài 3: (4 điểm) sắp xếp thứ tự các số trong mảng tăng dần?

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: a0, a1, a2,
    • Sắp xếp thứ tự các số trong mảng tăng dần và in mảng đã sắp xếp.
  • Input: Một dòng chứa các số nguyên có giá trị tuyệt đối không vượt quá 105, cách nhau bởi dấu cách.
  • Output: In mảng đã sắp xếp, mỗi số trên một dòng
  • Ví dụ:
InputOutput
9 -6 3 8 10 -7 -2-7
-6
-2
3
8
9
10

 

7 3 8 0 20
2
3
7
8

Bài 4: (4 điểm) In các số có trong xâu s?

  • Diễn giải:
    • Nhập vào một xâu s.
    • In các số có trong xâu s
  • Input:
    • Xâu s trên một dòng, có độ dài không vượt quá I05, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
  • Output: Các số có trong xâu s theo thứ tự xuất hiện, mỗi số một dòng
  • Ví dụ:
InputOutput
Toi hoc LAP TRINH Python tu nam 20242024
Thi HOC SINH GIOI mon Tin Hoc vao thang 02 nam 202402

2024

Bài 5: ( 4 điểm ) In các chuỗi con đối xứng trong chuỗi s?

  • Diễn giải:
    • Nhập vào một chuỗi s.
    • In các chuỗi con đối xứng có chiều dài lớn hơn 1 trong chuỗi s
  • Input:
    • Chuỗi s trên một dòng, có độ dài không vượt quá 10 mũ 5.
    • Chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách.
  • Ví dụ:
InputOutput
12322322
232
3223

 

b1cddc121cddc1

Cddc

dd

Đáp án bài 1: Phân loại mức tiêu thụ điện của thiết bị?

 

import sys
sys.stdin=open('D121.INP','r')
sys.stdout=open('D121.OUT','w')
n=int(input())
if n<50:
    print('A')
elif 51<=n<=100:
    print('B')
elif 101<n<=200:
    print('C')
elif 201<=n<=500:
    print('D')
elif n>500:
    print('E')

 

Đáp án bài 2: In những số chính phương từ m đến n?

 

import sys,math
sys.stdin=open('D122.INP','r')
sys.stdout=open('D122.OUT','w')
def ktcp(n):
    if n<0:
        return False
    x=int(math.sqrt(n))
    return x*x==n
m=int(input())
n=int(input())
dem=0
for i in range(m,n+1):
    if ktcp(i):
        dem+=1
        print(i,end=' ')
if dem==0:
    print('-')

 

Đáp án bài 3: sắp xếp thứ tự các số trong mảng tăng dần?

 

import sys
sys.stdin=open('D123.INP','r')
sys.stdout=open('D123.OUT','w')
a=list(map(int,input().split()))
for i in range(len(a)-1):
    for j in range(i+1,len(a)):
        if a[i]>a[j]:
            tam=a[i]
            a[i]=a[j]
            a[j]=tam
for i in range(len(a)):
    print(a[i])

 

Đáp án bài 4: In các số có trong xâu s?

 

import sys
sys.stdin=open('D124.INP','r')
sys.stdout=open('D124.OUT','w')
n=input()
s1=''
for i in range(len(n)):
    if n[i].isdigit():
        s1+=n[i]
    elif s1:
        print(s1)
        s1=''
if s1:
    print(s1)

 

Đáp án bài 5: In các chuỗi con đối xứng trong chuỗi s?

 

import sys
sys.stdin=open('D125.INP','r')
sys.stdout=open('D125.OUT','w')
def ktdx(s):
    return s==s[::-1]
s=input()
b=[]
for i in range(len(s)):
    for j in range(i+1,len(s)+1):
        subcon=s[i:j]
        if ktdx(subcon) and len(subcon)>1:
            b.append(subcon)
if len(b)>0:
    for subcon in sorted(b):
        print(subcon)
else:
    print('-1')

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

Vui lòng Chấm điểm 5 sao trang cho bài viết hay !

Tài liệu bồi dưỡng học sinh giỏi tin 10 đề thi HSG Python đề 6

Thầy biết các em đang trong giai đoạn ôn thi nước rút để chuẩn bị cho kỳ thi cấp huyện sắp tới! nên thầy đã chuẩn bị thêm đề ôn thi số 6 này để làm Tài liệu bồi dưỡng học sinh giỏi tin 10 đề thi HSG Python ! Các em nên tự giải trước khi xem lời giải nhé ! Để mình rèn luyện tư duy logic có thể phán đoán các dạng đề chuẩn bị cho kỳ thi tốt hơn !

Đây đã là đề thi số 6 đề và đáp án thi HSG Tin Python cấp huyện 

tai ngay vi tính tấn dân

  • Còn em nào muốn học lý thuyết thì hãy vào đường dẫn phía dưới nhé ! chép từ bài 1 đến bài 21 là giỏi liền kha kha ! có tài liệu pdf tải về thoải mái !
    1. Tự học Python từ cơ bản đến nâng cao đến giải đề thi nhé có tài liệu pdf tải về học 

Đề 6 thi python 150 phút bồi dưỡng học sinh giỏi tin học 10 cấp huyện 

Thứ tựTên bàiFile

chương

trinh

File dữ liệu

vào

File kết quả
Bài 1Phân loại “thời gian” trong ngàyD061*D061.INPD061.OUT
Bài 2Đếm số nguyên chia hết cho 5 và in những số nguyên chia hết cho 5 từ m đến nD062 *D062.INPD062.OUT
Bài 3In các số âm trong mảngD063 *D063 INPD063 OUT
Bài 4Sắp xếp các từ trong xâu theo thứ tự từ điểnD064.*D064.INPD064.OUT
Bài 5In các số Armstrong có n chữ sốD065 *D065.INPD065.OUT
Dấu * được thay thế bởi PY, CPP của ngôn ngữ lập trình được sử dụng tương ứng là Python hoặc C++

 

Bài 1: (4 điểm) Phân loại “thời gian” trong ngày

  • Diễn giải:
    1. Ngủ: Từ 22 giờ 01 phút đến trước 5 giờ 30 phút.
    2. Chuẩn bị sáng; Từ 05 giờ 30 phút đến trước 07 giờ 00 phút-
    3. Làm việc sáng: Từ 07 giờ 00 phút đến 11 giờ 59 phút.
    4. Nghỉ trưa: Từ 12 giờ 00 phút đến 12 giờ 59 phút.
    5. Làm việc chiều: Từ 13 giờ 00 đến 16 giờ 59 phút.
    6. Thư giãn: Từ 17 giờ 00 phút đến 22 giờ 00 phút.
  • Input: Chuổi hh:mm cho biết giờ và phút hiện tại (00<=hh<24,00<=mm<60)
  • Output: “Thời gian” theo mô tả trên
  • Ví dụ về input và output:
inputoutput
06:30Chuan bi sang
12:45Nghi trua

Bài 2: (4 điểm) Đếm số nguyên chia hết cho 5 và in những số nguyên chia hết cho 5 từ m đến n

  • Diễn Giải:
    • Nhập vào hai số nguyên m và n (m<n).
    • Cho biết từ m đến n có bao nhiêu số chia hết cho 5, là những số nào?
  • Input: Hai số nguyên dương m và n (0<m, n<106), trên một dòng, cách nhau bởi dấu cách.
  • Output:
    • Số thứ nhất là số lượng các số chia hết cho 5 từ m đến n, dấu cách, dấu gạch (-), dấu cách,
    • sau đó là các số chia hết cho 5 từ m đến n, phân tách nhau bởi dấu cách.
    • Nếu không có số chia hết cho 5 từ m đến n thi in 0, dấu cách, dấu gạch (-), dấu cách.
  • Ví dụ:
InputOutput
4 153 -5 10 15
2 112 -5 10

Bài 3: (4 điểm) In các số âm trong mảng

  • Diễn giải:
    • Nhập vào một mảng số nguyên a: a0,a1,a2,….an In các số âm trong mảng theo thứ tự xuất hiện.
  • Input: Một dòng chứa các số nguyên có giá trị tuyệt đối không vượt quá 105, cách nhau bởi dấu cách.
  • Output:
    • Các số âm trong mảng trên cùng một dòng, theo thứ tự xuất hiện, cách nhau bởi dấu cách.
    • Nếu không có số âm nào trong mảng thì in
  • Ví dụ:
InputOutput
9 -6 3 8 10 -7 -2-6 -7 -2
7 3 8 0 2

Bài 4: (4 điểm) Sắp xếp các từ trong xâu theo thứ tự từ điển

  • Diễn giải:
    • Nhập vào một xâu s.
    • Sắp xếp các từ trong xâu theo thứ tự từ điển
  • Input:
    • Xâu s trên một dòng, có độ dài không vượt quá 105, chứa các ký tự là chữ cái, chữ số, ký hiệu và các dấu cách
  • Output: In các từ đã sắp xếp trên một dòng, cách nhau bởi dấu cách
  • Ví dụ:
InputOutput
Toi Hoc LAP TRINH C++ từ năm 20242024 C++ Hoc LAP TRINH Toi nam tu
Thi HOC SINH GIOI mon Tin HocGIOI HOC Hoc SINH Thi Tin mon

Bài 5: (4 điểm) In các số Armstrong có n chữ số

  • Diễn giải:
    • Nhập vào số nguyên dương n. In các số Armstrong có n chữ số
    • Số Armstrong là một số có k chữ số mà tổng các chữ số lũy thừa k của nó bằng chính nó.
    • Chẳng hạn, 153 có 3 chữ số và 13 + 53 + 33 =153 ( 1 mũ 3 + 5 mũ 3 + 3 mũ 3 = 153 ); 1634 có 4 chữ số và 14+64+34+44= 1634 ( 1 mũ 4 + 6 mũ 4 + 3 mũ 4 + 4 mũ 4 = 1634 )
  • Input: Một số nguyên n (0<n<10)
  • Output:
    • Các số Armstrong có n chữ số trên một dòng, cách nhau bởi dấu cách theo thứ tự từ bé đến lớn.
    • Nếu không có số nào thì in dấu “-“
InputOutput
3153 370 371 407
41634 8208 9474

Đáp án bài 1:  Phân loại “thời gian” trong ngày

 

import sys
sys.stdin=open('D061.INP','r')
sys.stdout=open('D061.OUT','w')
a=input()
a=a.split(":")
h=int(a[0])
p=int(a[1])
if (22<=h<=24 and 1<=p<=59 ) or (1<=h<5 and 0<=p<60) or (h==5 and 0<=p<30):
    print('Ngu')
elif (5==h and 30<=p<=59 ) or (h==6 and 0<=p<=59):
    print('Chuan bi sang')
elif 7<=h<=11 and 0<=p<=59:
    print('Lam viec sang')
elif 12==h and 0<=p<=59:
    print('Nghi trua')
elif 13<=h<=16 and 0<=p<=59:
    print('Lam viec chieu')
elif 17<=h<=22 and 0<=p<=59:
    print('Thu gian')

Đáp án bài 2: Đếm số nguyên chia hết cho 5 và in những số nguyên chia hết cho 5 từ m đến n

 

import sys
sys.stdin=open('D062.INP','r')
sys.stdout=open('D062.OUT','w')
m,n=map(int,input().split())
dem=0
for i in range(m,n+1):
if i%5==0:
dem+=1
print(dem,'-',end=' ',sep=' ')
for i in range(m,n+1):
if i%5==0:
print(i,end=' ')

 

Đáp án bài 3: In các số âm trong mảng

 

import sys
sys.stdin=open('D063.INP','r')
sys.stdout=open('D063.OUT','w')
a=list(map(int,input().split()))
dem=0
for i in range(len(a)):
    if a[i]<0:
        dem+=1
        print(a[i],end=' ')
if dem==0:
    print('-')

 

Đáp án bài 4: Sắp xếp các từ trong xâu theo thứ tự từ điển

 

import sys
sys.stdin=open('D064.INP','r')
sys.stdout=open('D064.OUT','w')
s=input()
s=s.split()
s.sort()
for i in s:
    print(i,end=' ')

 

Đáp án bài 5: In các số Armstrong có n chữ số

 

import sys
sys.stdin=open('D065.INP','r')
sys.stdout=open('D065.OUT','w')
def Armstrong(n):
    tong=0
    s=str(n)
    for i in range(len(s)):
        tong+=(int(s[i]))**len(s)
    return tong==n
n=int(input())
a=[]
for i in range(10**(n-1),10**n):
    if Armstrong(i):
        a.append(i)
if len(a)==0:
    print('-')
else:
    print(*a)

 

Nếu bạn thấy hay ! xin bạn 1 phút ! vui lòng đánh giá 5 sao cho trang website của chúng tôi ! để có động lực làm thêm nhiều bài hay nữa ! cảm ơn quý khách nhé !

 

Miễn phí 10% khóa học lập trình Python online “Hãy đăng ký ngay để được khuyến mãi !” 

  • Qua đường dây nóng hỏi: 093.717.9278 ( Gặp Thầy Tấn Dân Cử Nhân Công Nghệ Thông Tin)
  • Thầy Dân chuyên bồi dưỡng môn tin học thi học sinh giỏi cấp huyện, cấp tỉnh, ôn luyện thi vào Trường Chuyên Tin.

Khóa học Python online từ cơ bản đến nâng cao

Khóa học Python online từ cơ bản đến nâng cao

Trung tâm tin học Tấn Dân

Thông tin Khuyến mãi giảm giá học phí!

  • Giảm giá ưu đãi 100.000 đ khi đăng ký 2 bạn sinh viên học sinh trở lên !
  • Giảm 15% khi  tham gia 3 bạn sinh viên học sinh trở lên
  • Lưu ý :
    • Để nhận Ưu đãi học viên vui lòng đăng ký qua số điện thoại gặp Thầy Dân qua số điện thoại & Zalo: 0937.179.278
    • Học phí tham gia khóa học Online 1.600.000 trong 7 tháng.
    • Học từ cơ bản đến nâng cao và đến giải đề thi cấp Huyện.
    • Trong nhiều chính sách ưu đãi học viên chỉ áp dụng chính sách ưu đãi cao nhất!
    • Có nhận học viên thường xuyên
    • Thời gian học từ thứ 3 và thứ 5;  từ 2 giờ đến 4 giờ hàng tuần.
  • Hãy đăng ký ngay để nhận ưu đãi đến hết ngày 10 tháng 10 năm 2024 !