Máy chấm giống như một người sẽ nhập dữ liệu vào chương trình của các em và kiểm tra xem đáp án có đúng không. Nhưng chính vì máy chấm điểm cho em , nên có vài điều lưu ý như sau:
Ví dụ về vấn đề: A+B, đề yêu cầu em nhập hai số, A và B, và in ra tổng của chúng. Khá dễ đúng ko nào?
Nhưng nếu code của em trông giống như thế này trong C++ hoặc Python:
#include <iostream>
using namespace std;
int main() {
int a, b;
cout << "Nhập giá trị của a: ";
cin >> a;
cout << "Nhập giá trị của b: ";
cin >> b;
cout << "Tổng của " << a << " và " << b << " là: " << a + b << endl;
return 0;
}
hay
a = int(input("Nhập giá trị của a: "))
b = int(input("Nhập giá trị của b: "))
print(f"Tổng của {a} và {b} là: {a + b}")
Thì em đã sai mất rồi!
Một số lưu ý:
Mặc dù, đúng là hai đoạn code trên nhập vào hai số và in ra tổng thật. Nhưng máy chấm không hiểu vì sao bạn lại bảo nó "nhập số vào", và in ra “Tổng của…”. Nó chỉ quan tâm so sánh kết quả của chương trình của bạn, được sinh ra từ cout trong C++ và print hoặc input trong Python, với kết quả đúng.
Ví dụ, nếu máy chấm nhập giá trị $1$ và $2$ vào chương trình của bạn, nó sẽ hi vọng output của bạn là $3$, chỉ đúng số $3$ thôi. Nhưng với những câu hỏi từ cout và input đó, nó nghĩ rằng đó là output của chương trình của bạn và bị đánh giá là sai.
Lời giải đúng:
Lời giải C++
#include <iostream>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
cout << a + b;
return 0;
}
Và Python:
a, b = map(int, input().split())
print(a + b)
Các em để ý dòng a, b = map(int, input().split())? Trông có vẻ lạ, nhưng vì định dạng input là “Một dòng gồm hai số nguyên $A,B$, nghĩa là hai số nằm trên cùng một dòng. Vì vậy, nếu người dùng (hoặc máy chấm), nhập vào hai giá trị, ví dụ $4,5$ nằm trên cùng một dòng như sau:
4 5
Thì code trên sẽ trả ra kết quả đúng, nếu dùng hai lệnh input như bình thường chương trình sẽ lỗi.
Và với nhiều giá trị hơn thì có thể làm thế này, tương tự cho 3, 4,… giá trị:
a, b, c = map(int, input().split())
Nếu bạn muốn đọc các số trên cùng một dòng vào một list:
A = [int(num) for num in input().split()]
Đoạn code sẽ tạo ra list A gồm toàn bộ các số trên cùng một dòng.
Với mỗi bài toán trên Fsclaptrinh, cần chú ý đọc phần input để nắm chắc định dạng input của bài. Rất nhiều bài toán sẽ có những giá trị nằm trên cùng một dòng.
Bình luận