DANH SÁCH TÓM TẮT:
Cập nhật mới nhất 2025:
Tổng hợp 50 đề thi học sinh giỏi môn Tin học lớp 9 và THCS của các tỉnh, thành phố trên cả nước Việt Nam, kèm lời giải chi tiết bằng Python hoặc Pascal. Bộ sưu tập này giúp học sinh ôn luyện toàn diện, chuẩn bị tốt nhất cho kỳ thi HSG cấp huyện, cấp tỉnh và thi vào lớp 10 chuyên Tin.
Tài liệu của PHA – THCS Trần Thị Vũ Thư – TB
(Lưu ý: Nếu link lỗi, vui lòng để lại bình luận phía dưới để admin cập nhật ngay lập tức).
Môn Tin học là môn học đòi hỏi tư duy logic, kỹ năng lập trình và khả năng giải quyết vấn đề.
Bộ “50 Đề thi học sinh giỏi Tin học trên cả nước Việt Nam” được tổng hợp từ nhiều năm của các tỉnh như:
Hà Nội, TP. Hồ Chí Minh, Bình Định, Tiền Giang, Nghệ An, Đà Nẵng, Hải Phòng, Lâm Đồng, Cần Thơ, Thái Bình, Nam Định, Đồng Tháp,…
Mỗi đề đều gồm 5 bài lập trình, được sắp xếp từ dễ đến khó, giúp học sinh:
Ôn tập cấu trúc ngôn ngữ (Python hoặc Pascal)
Củng cố kỹ năng thuật toán cơ bản
Phát triển khả năng tư duy giải quyết bài toán thực tế
Sau khi tổng hợp 50 đề thi, có thể chia các dạng bài Tin học học sinh giỏi phổ biến như sau:
Tìm số lớn nhất, nhỏ nhất, tổng, trung bình, phần tử thỏa điều kiện.
Sắp xếp, đếm, lọc phần tử.
Rèn kỹ năng duyệt mảng, sử dụng vòng lặp và điều kiện.
Tính tổng hàng, cột, đường chéo.
Xoay ma trận, phản chiếu, tìm phần tử đặc biệt.
Kiểm tra khả năng làm việc với cấu trúc dữ liệu hai chiều.
Đếm từ, tách chữ, đếm nguyên âm – phụ âm.
Loại bỏ ký tự, viết hoa chữ cái đầu, so sánh chuỗi.
Củng cố kỹ năng làm việc với string trong Python.
Bài toán con ếch, chia kẹo, dãy con tăng dài nhất, ba lô,…
Đòi hỏi tư duy phân tích và tối ưu thuật toán.
Duyệt đồ thị bằng DFS, BFS, tìm cây khung nhỏ nhất (Prim, Kruskal), hoặc đường đi ngắn nhất (Dijkstra, Floyd).
Đây là phần khó, thường xuất hiện ở đề cấp tỉnh và chuyên Tin.
Học sinh khi luyện bộ đề này sẽ đạt được nhiều kỹ năng quan trọng:
✅ Nắm chắc cấu trúc lập trình cơ bản: vòng lặp, điều kiện, hàm, mảng, chuỗi.
✅ Hiểu rõ tư duy thuật toán: cách phân tích đề, chia bài toán nhỏ, tìm hướng tối ưu.
✅ Làm quen với phong cách ra đề của các tỉnh – chuẩn bị tốt cho kỳ thi thật.
✅ Tăng tốc độ lập trình và tư duy khi viết code.
Bộ 50 Đề thi học sinh giỏi Tin học trên cả nước Việt Nam là tài liệu không thể thiếu cho những ai đam mê lập trình và mong muốn đạt giải cao trong các kỳ thi học sinh giỏi.
Mỗi đề là một thử thách thú vị, giúp bạn nâng cao tư duy thuật toán, khả năng lập trình và tốc độ xử lý vấn đề.
Hãy tải về, luyện tập hằng ngày và chinh phục ước mơ trở thành học sinh chuyên Tin giỏi nhất!
Tính:
gcd(a[i],a[j])
import sys
import math
sys.stdin = open("CDIV.INP", "r")
sys.stdout = open("CDIV.OUT", "w")
n = int(sys.stdin.readline())
a = list(map(int, sys.stdin.readline().split()))
max_gcd = 0
# duyệt mọi cặp
for i in range(n):
for j in range(i + 1, n):
g = math.gcd(a[i], a[j])
if g > max_gcd:
max_gcd = g
print(max_gcd) ⚠️ Với:
Input:
Xét:
👉 Output:
Đây là bài quy hoạch động + dãy tăng có điều kiện (giống LIS nhưng có thêm K) 🔥
Ta cần chọn dãy chỉ số tăng:
a[j]≥a[i]+K
👉 Tức là:
👉 Ta không cần DP nặng, chỉ cần:
last)last + K thì chọn
import sys
sys.stdin = open("GIFT.INP", "r")
sys.stdout = open("GIFT.OUT", "w")
n, k = map(int, sys.stdin.readline().split())
a = []
for _ in range(n):
a.append(int(sys.stdin.readline()))
# Bắt đầu
dem = 1
cuoi = a[0]
for i in range(1, n):
if a[i] >= cuoi + k:
dem += 1
cuoi= a[i]
print(dem)
Input:
Chọn:
👉 Output:
Bài này có thể nâng lên:
Greedy (tham lam) là cách giải bài toán bằng việc:
👉 Luôn chọn phương án tốt nhất tại thời điểm hiện tại
👉 Không cần xét lại các bước trước
💡 Hiểu đơn giản:
“Thấy cái nào lợi nhất trước → chọn luôn”
Bài toán dùng Greedy khi có:
👉 Có các khoảng thời gian, chọn nhiều nhất không bị trùng
import sys
n = int(input())
a = []
for _ in range(n):
s, e = map(int, input().split())
a.append((s, e))
# sắp xếp theo thời gian kết thúc
a.sort(key=lambda x: x[1])
dem = 0
last_end = 0
for s, e in a:
if s >= last_end:
dem += 1
last_end = e
print(dem) 👉 Dùng ít số tờ tiền nhất
Ví dụ: 1, 2, 5, 10, 20…
import sys
n = int(input())
coins = [20, 10, 5, 2, 1]
dem = 0
for c in coins:
dem += n // c
n %= c
print(dem) Greedy sai khi:
👉 Ví dụ sai:
| Thuật toán | Đặc điểm |
|---|---|
| Greedy | Nhanh, dễ, chọn ngay |
| DP | Xét tất cả khả năng |
| Backtracking | Thử mọi cách |
Khi gặp bài → hỏi ngay:
👉 Nếu có → 90% là Greedy
Khóa học Python online từ cơ bản đến nâng cao
Khóa Học Tin Học Online Thầy Dân: Luyện Thi Chuyên Tin & Tin Văn Phòng…
🚀 Giải Chi Tiết Đề Thi HSG Tin Học THCS Bình Phước (Có Code Python…
Bạn đang tìm kiếm nguồn tài liệu ôn thi học sinh giỏi Tin học lớp…
Phần 2: Tải ngay 200 Bài lập trình Python có lời giải cơ bản đến…
Tổng Hợp Các Hàm Python "Cốt Lõi" Khi Thi HSG Tỉnh Và Vào 10 Chuyên…
Nếu bạn đang ôn thi học sinh giỏi Tin học THCS cấp tỉnh Tiền Giang,…
This website uses cookies.
View Comments
Haha đọc xong thấy website này toàn Học Python, Học Python, Học Python à, như thể Python là chén thánh vậy! Mà sao lại có cả Bơm mực máy in tận nơi hay Game Sekiro nhỉ? Chắc website này cũng chính phương quá, vừa học vừa giải trí, khỏi chán! hẹn giờ online
Ka ka thì có học có chơi mà bạn ! học nhiều cũng chẵn hiểu bao nhiêu vừa học vừa yêu mới hiểu nhiều !