Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
PBCISPIS - ISPIS |
Kal El là 1 kỹ sư tài năng. Anh ta chế tạo ra chiếc máy in, nhưng vì vừa làm việc vừa ngủ nên chiếc máy in chế tạo ra chỉ có thể điều khiển bằng 3 lệnh:
1. Set(x): Đưa ký tự x vào bộ nhớ chính.
2. Next(x): Đưa ký tự x vào bộ nhớ phụ.
3. Write: In ra một ký tự. Nếu ngay trước đó là lệnh next thì sẽ in ra ký tự có trong bộ nhớ phụ, nếu không, in ký tự trong bộ nhớ chính.
Ví dụ: VNOI có thể dùng 8 lệnh:
Set(V),Write,Set(N),Write,Next(O),Write,Set(I),Write.
Cho trước xâu ký tự S chỉ gồm các chữ cái in hoa tiếng anh, cần biết số lệnh ít nhất dùng để in xâu S với điều kiện lệnh đầu tiên luôn phải là Set.
Input
1 dòng duy nhất chứa xâu S có độ dài không quá 5*10^6
Output
1 dòng duy nhất là số lệnh ít nhất cần dùng để máy in ra xâu S
Example
Input: VNOI Output: 8
Được gửi lên bởi: | bnta2 |
Ngày: | 2010-12-10 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | Tất cả ngoại trừ: ASM64 GOSU PERL6 PYPY RUST SED |
Nguồn bài: | COI |
hide comments
|
|||||
2010-12-14 10:29:45 Dell Inspiron
Nếu test nào cũng là 2n thì add bài lên làm gì nhỉ? -> Phạm Hy Hiếu đã nghĩ sai. Ví dụ đơn giản là test này: NN, nếu là 2n thì là 4, trong khi kết quả là 3. Liệu có tồn tại thuật toán O(1) cho bài này? |
|||||
2010-12-13 17:14:38 Thỏ con làm bánh
Mình nghĩ thế này: Để in ra n ký tự, nhất thiết phải dùng ít nhất n lệnh "Write", hơn nữa để đưa một ký tự vào bộ nhớ chính (hay phụ) cũng phải dùng ít nhất một lệnh (Set hay Next), thế thì tổng số lệnh bé nhất là 2n. Hơn nữa dễ dàng chỉ ra đẳng thức (cứ -Set-Write-). Thuật toán O(1) >.< |
|||||
2010-12-13 16:45:32 ba chấm
chán thế, làm 26*N mà toàn TLE =(( |
|||||
2010-12-13 03:20:18 LoneWolf
giới hạn lớn quá PS ơi =.= |
|||||
2010-12-12 15:13:35 Lê Ðỗ Tân
đơn giản thôi cậu |
|||||
2010-12-12 13:15:38 Dra Tiny
Tham O(n) kiểu gì nhỉ :-? |
|||||
2010-12-12 11:15:44 Nguyên
PS lần sau add test nên cẩn thận hơn. Bài lấy từ nguồn có sẵn, nếu muốn thêm test thì lấy solution mẫu chạy ra output. |