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

· · 题解

直接根据题意模拟喵。

可是 则忽略规则 xxx 很麻烦,怎么办呢?

显然可以从后往前判断规则是否满足(3\to 2\to 1\to 4)。

具体地:

最后,如果最终气压值为正,输出与原气压值差。

否则,输出 \texttt{shuki}

:::success[code]

#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N=1e5+10;
int n,st,ans;
string s;
signed main(){
    ios::sync_with_stdio(false),cin.tie(0),cout.tie(0);
    cin>>n>>st;
    ans=st;
    for(int i=1;i<=n;++i){
        cin>>s;
        if(s.find("kirai")!=-1){
            if(ans>=0) ans=0;
        }
        else if(s.find("daishuki")!=-1){
            ans+=2;
        }
        else if(s.find("shuki")!=-1){
            ans++;
        }
        else{
            ans--;
        }
    }
    if(ans>0) cout<<ans-st;
    else cout<<"shuki";
    return 0;
}

:::