Link submit: HAPPYNEWYEAR
1. Đề bài
Để chào mừng năm mới 2017, UPCoder sẽ tặng điểm thưởng cho tất cả các tài khoản. Mỗi tài khoản tùy theo sự siêng năng giải bài của mình mà được tặng số điểm tương ứng. Tuy nhiên admin không cho biết trước số điểm sẽ tặng mà mã hóa nó trong một chuỗi ký tự dưới dạng tin nhắn. Số lượng chuỗi “Happy new year 2017” trong tin nhắn sẽ là số điểm thưởng cho tài khoản nhận được.
Cho chuỗi ký tự, bạn hãy tính toán xem số điểm thưởng là bao nhiêu nhé.
Dữ liệu đầu vào
– Số nguyên n là số lượng tài khoản nhận được tin nhắn (1<=n<=100000)
– n dòng tiếp theo là các chuỗi ký tự (có khoảng trắng) mà các tài khoản nhận được.
Dữ liệu đầu ra
Gồm n dòng ghi lại số điểm thưởng của các tài khoản theo thứ tự đầu vào.
Ví dụ
Input
1
2016 Happy new year 2017 Happy New Year 2017 Happy
Output
1
2. Code tham khảo
#include <iostream> #include <cstring> #include <istream> using namespace std; long n, res = 0; char *s, a[1000], mau[20]; void xuli() { res = 0; s = a; while (strstr(s, mau) != NULL) { if (strlen(s) >= 19) s = strstr(s, mau) + 19; else break; res++; } cout << res << endl; } int main() { cin >> n; cin.ignore(); strcat_s(mau, "Happy new year 2017"); for (long i = 1; i <= n; i++) { cin.getline(a, 1000); res = 0; xuli(); } return 0; }
Minh đã làm xong cho minh code đi
Chào bạn, ý bạn là sao vậy? Mình chưa hiểu.