Hướng dẫn giải của Chuẩn bị cho năm học mới


Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.

Lời giải này đang bị ẩn cho đến khi bạn chọn mở ra.

Chúng tôi khuyên bạn nên tự thử giải bài trước. Việc mở lời giải có thể làm lộ mất ý tưởng chính trước khi bạn có cơ hội tự giải.

Bạn phải đăng nhập để mở lời giải này.

Đăng nhập

Tác giả: Hiếu Nguyễn, thattinh777, forexx_2986, nquang2909

Editorial for prep: Chuẩn bị cho năm học mới

Hiểu bài toán

Bài toán yêu cầu tính tổng chi phí tối thiểu để mua số lượng quyển vở và cây bút cần thiết. Tí cần mua thêm A quyển vở và B cây bút. Giá mỗi quyển vở là X và mỗi cây bút là Y. Tổng chi phí được tính bằng công thức: (số lượng vở × giá vở) + (số lượng bút × giá bút).

Các cách tiếp cận

Cách Nhập xuất cơ bản
#include <stdio.h>

int main() {
    int a, b, x, y;
    scanf("%d %d %d %d", &a, &b, &x, &y);
    printf("%d", a * x + b * y);
    return 0;
}
  • Time Complexity: O(1)
  • Space Complexity: O(1)

Đây là cách tiếp cận trực tiếp nhất. Đọc 4 số nguyên từ input, tính toán tổng chi phí theo công thức AX + BY và in ra kết quả. Do số lượng input cố định và phép tính đơn giản, độ phức tạp thời gian và bộ nhớ đều là hằng số.

Cách Tách biệt指令 nhập
#include <stdio.h>

int main() {
    int a, b, x, y;
    scanf("%d", &a);
    scanf("%d", &b);
    scanf("%d", &x);
    scanf("%d", &y);
    printf("%d", a * x + b * y);
    return 0;
}
  • Time Complexity: O(1)
  • Space Complexity: O(1)

Khác biệt nhỏ so với cách trên là việc tách biệt các lệnh scanf cho từng biến. Mặc dù chức năng tương tự, cách này có thể hữu ích khi cần kiểm tra input hoặc debug từng bước nhập. Tuy nhiên, về bản chất thuật toán và hiệu năng hoàn toàn giống nhau.

Phân tích độ phức tạp

Cách tiếp cận Time Space Tên
1 O(1) O(1) Nhập xuất cơ bản
2 O(1) O(1) Tách biệt指令 nhập

Bài học kinh nghiệm

  • Bài toán là một phép tính đơn giản (tích và tổng) không cần cấu trúc dữ liệu phức tạp
  • Đảm bảo khai báo biến kiểu int là đủ do giới hạn input nhỏ (≤ 100)

Lỗi thường gặp

  • Quên khai báo biến trước khi sử dụng hoặc sai thứ tự tham số trong scanf
  • Sai cú pháp in kết quả (ví dụ: in thêm ký tự thừa hoặc sai format specifier)

Bình luận

Please read the guidelines before commenting.


Không có bình luận tại thời điểm này.