Nguồn đề bài: http://vn.spoj.com/problems/VMRR/
Nội dung bài viết
1. Đề bài VMRR spoj
Có một điều bí mật, mà xưa nay chỉ được lưu truyền giữa các admin VNOI, là RR có những sở thích rất khác người. Không chỉ dừng lại ở việc ngồi ngắm bảng rank của các kỳ thi trên mạng hàng tiếng đồng hồ hay ngồi học thuộc tên của các coder nổi tiếng thế giới, RR còn có sở thích tìm tên mình trong những chuỗi văn bản dài…
Nhiều khi, việc tìm tên mình mất rất nhiều thời gian, thậm chí có thể tốn nhiều ngày mà vẫn đếm nhầm. Các bạn hãy giúp RR giải quyết vấn đề này một cách tổng quát hơn nhé.
Yêu cầu
Cho một xâu S và 2 ký tự X và Y. Đếm xem chuỗi con XY xuất hiện bao nhiêu lần trong S (hai ký tự X và Y không cần liên tiếp nhưng cần xuất hiện đúng thứ tự (X trước Y)).
Input
- Dòng 1: Xâu S.
- Dòng 2: X và Y.
Output
- Gồm 1 số nguyên duy nhất là kết quả của bài toán.
Giới hạn
- Xâu S chứa không quá 106 ký tự.
- Tất cả các ký tự trong đề bài có mã ASCII từ 32 đến 255.
Chấm bài
Bài của bạn sẽ được chấm trên thang điểm 100. Điểm mà bạn nhận được sẽ tương ứng với % test mà bạn giải đúng.
Trong quá trình thi, bài của bạn sẽ chỉ được chấm với 2 test ví dụ có trong đề bài.
Khi vòng thi kết thúc, bài của bạn sẽ được chấm với bộ test đầy đủ.
Example
Input 1:
R_R_
RR
Output 1:
1
Input 2:
BA
AB
Output 2:
0
2. Gợi ý VMRR spoj
Gợi ý: bài này các bạn phải sử dụng thuật toán đếm phân phối…
3. code tham khảo VMRR spoj
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | const fi=''; var f:text; S:ansistring; x,y:char; res,dem:int64; i:longint; begin assign(f,fi); reset(f); readln(f,s); read(f,x,y); close(f); dem:=0; res:=0; for i:=1 to length(s) do begin if s[i]=y then inc(res,dem); if s[i]=x then inc(dem); end; writeln(res); end. |
Bài viết liên quan
- FINDCOW PTIT spoj – Find the Cow!
- NKLETTER spoj – Gửi thư
- bài giải MTABC spoj THPTCBT – Xâu thứ cấp
- PTIT016E spoj PTIT – ACM PTIT 2016 E – Kỳ thi ACM/ICPC
- NKH spoj – Tách Từ
- P156SUME spoj PTIT – ROUND 6E – Ước chung của chuỗi
- P156SUMH spoj PTIT – ROUND 6H – Kim cương
- PTIT013A spoj PTIT – Số may mắn
- P146SUMF spoj PTIT – Dãy số kì diệu
- P142SUMG spoj PTIT – Mã hóa