题解:P17232 [Algo Beat Contest 017 A] 串哈希
直接根据题意模拟喵。
可是 则忽略规则 xxx 很麻烦,怎么办呢?
显然可以从后往前判断规则是否满足(
具体地:
-
如果包含子串
\texttt{kirai} ,若当前气压值非负,将其设为0 ; -
否则,如果包含子串
\texttt{daishuki} ,气压值累加2 ; -
否则,如果包含子串
\texttt{shuki} ,气压值累加1 ; -
否则,其他值减去
1 。
最后,如果最终气压值为正,输出与原气压值差。
否则,输出
:::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;
}
:::