Thuật toán và tư duy đơn giản bài #605 (DEMSO)

Takce 2020-03-11 8:49:28 2020-12-09 14:21:42

Trước hết cho em xin phép tỏ ra "tài lanh" 1 tí ạ -.- Đây là bài viết kiểu "anh hùng rơm", thực tế em làm được bài này do ăn may.

Vào vấn đề chính...

Đầu tiên là vì các số có giới hạn rất lớn (đến 1e30 ) nên không thể dùng kiểu dữ liệu số thông thường, phải dùng kiểu string (lấy ví dụ là xâu s).

Dĩ nhiên là không cần phải duyệt hết cả xâu, mà chỉ cần duyệt ký tự đầu. Một số âm sẽ bắt đầu bằng ký tự '-' (hay s_0='-' ). Tương tự, 1 số dương sẽ bắt đầu bằng một ký tự số (hay s_0 >= '1' s_0 <= 9 do số không bắt đầu bằng chữ số 0).

Đến đây thì đơn giản: ta làm 1 vòng lặp, rồi nhập xâu s, kiểm tra ký tự ở đầu xâu. Nếu là ký tự '-' thì tăng biến đếm số âm lên 1 đơn vị, tương tự với số dương. Cuối cùng chỉ cần ghi ra kết quả theo định dạng đề bài.

Phần "tài lanh" của em xin hết ạ.

*Chú ý: tư duy kiểu này dành cho khối 10 "miệng còn hôi sữa" như bọn em, thuộc kiểu "tư duy cùn rỉ" chứ Code thì chưa đạt tới đẳng cấp so sánh với "trùm CUỐI", nên em xin phép lui binh... Cáo từ!

-Another-

Tổng cộng 1 trả lời

Lemon Garden

Nghĩa là thay vì duyệt toàn bộ xâu như bình thường thì mình chỉ xét ký tự đầu thôi đúng không? Liệu còn thuật toán nào tốt hơn không?