「SvR-1」Don't Mozheng. /oh

「SvR-1」Don't Mozheng. /oh

模拟字符串练手题

思路:如果要满足 /oh 或者 /hsh,必须要字符的长度是等于 33 或者等于 44 才可以。先用两个字符串把 /oh/hsh 加入进去,然后边输入边进行匹配,可以使用计数器统计吻合个数,如果完全重合,就加上相应的 aa 或者 bb 即可。

代码如下:

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline long long read()
{
    register long long x=0,f=0;
    register char t=getchar();
    while(t<'0'||t>'9')f^=(t=='-'),t=getchar();
    while(t>='0'&&t<='9')x=(x<<3)+(x<<1)+(t^48),t=getchar();
    return f?-x:x;
}
signed main()
{
	string oh,hsh;
	oh[0]='/',oh[1]='o',oh[2]='h';
	hsh[0]='/',hsh[1]='h',hsh[2]='s',hsh[3]='h'; 
	int n,a,b;
	n=read(),a=read(),b=read();
	int ans1=0;
	for(int i=1;i<=2*n;i++)
	{
		int sum=0,ans=0;
		string k;
		cin>>k;
		if(k.length()==3)
		{
			for(int j=0;j<=k.length()-1;j++)
				if(k[j]==oh[j])
					sum++;
			if(sum==3)
				ans1+=a;
		}
		else if(k.length()==4)
		{
			for(int j=0;j<=k.length()-1;j++)
				if(k[j]==hsh[j])
					ans++;
			if(ans==4)
				ans1+=b;
		}
	}
	cout<<ans1<<endl;
 }
posted @ 2022-06-20 13:16  June_Failure  阅读(7)  评论(0)    收藏  举报  来源