[Upcoder] HAPPYNEWYEAR – Happy new year 2017

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.

2017

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;
}

2 thoughts on “[Upcoder] HAPPYNEWYEAR – Happy new year 2017

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *