题解:P17232 [Algo Beat Contest 017 A] 串哈希

· · 题解

题解:P17232 [Algo Beat Contest 017 A] 串哈希

思路

按照题意模拟即可,可以使用标准模板库的 find 来查询是否包含,时间复杂度 O(n \cdot |s|)

注意点

注意到要依次判断规则三,规则二,规则一。

Code

#include<bits/stdc++.h>
#define int long long
using namespace std;
signed main(){
    int n,s;
    cin>>n>>s;
    int k=s;
    while(n--){
        string f;
        cin>>f;
        if(f.find("kirai")!=string::npos){
            if(s>=0)s=0;
        }
        else if(f.find("daishuki")!=string::npos)s+=2;
        else if(f.find("shuki")!=string::npos)s++;
        else s--;
    }
    if(s>0)cout<<s-k;
    else cout<<"shuki";
    return 0;
}