A70083.找出卧底 题解
2025-09-06 23:45:37
发布于:新疆
5阅读
0回复
0点赞
本题是 ACGO欢乐赛#55 的第三题。
这道题推荐写一个判断是否为卧底的函数。
这是我赛时写的:
bool wd(string s){
string t="woheyezhi";
//大写转小写
if(s.size()!=9)return 0;//特判
for(int i=1;i<=9;i++)
if(tolower(s[i])!=t[i])return 0;//将字符串s里的所有字符都变成小写,如果被转换后的s还是与字符串t不同,证明他是卧底
return 1;
}
这里
tolower()
函数的作用就是将大写字母转换成小写,若其本身就是小写,那就不变。tolower
函数的头文件是#include <cctype>
。
大家应该都懂了吧,不懂得百度搜去。
好了,不多说了,直接上代码:
#include<bits/stdc++.h>
using namespace std;
bool wd(string s){
string t="woheyezhi";
//大写转小写
if(s.size()!=9)return 0;//特判
for(int i=1;i<=9;i++)
if(tolower(s[i])!=t[i])return 0;//将字符串s里的所有字符都变成小写,如果被转换后的s还是与字符串t不同,证明他是卧底
return 1;
}int main(){
int n;cin>>n;
int cnt=0;
string s;
while(n--){
cin>>s;
if(wd(s))cnt++;//判断卧底,如果是,cnt就+1
}cout<<cnt;
}
全部评论 2
昨天 来自 新疆
1tolower()
函数只针对char
和string
,不要乱用昨天 来自 新疆
1
有帮助,赞一个