P1308 [NOIP2011 普及组] 统计单词数-洛谷

例题

[NOIP2011 普及组] 统计单词数

#include <bits/stdc++.h>
#define int long long //(注意超时风险)
#define endl '\n'
using namespace std;
 
const int N = 100001;

signed main(){
	
	std::ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	
	string a,b;

	//用string库,调用getline, 直接读入一整行
	getline(cin,a);
	getline(cin,b);
	//遍历 转换大小写  大写小写都可以 
	//toupper  tolower 
	for(int i = 0 ; i < a.size();i++){
		a[i] = toupper(a[i]);
	} 
	for(int i = 0; i < b.size(); i++ ){
		b[i] = toupper(b[i]);
	}
	//因为连起来的不算,
    //所以要在前后加几个空格,才能确保是一个单词
    a = ' '+a+' ';
    b = ' '+b+' ';
	
	//看看能不能找到  调用.find()
	 //string::npos==-1;
	if(b.find(a) == string::npos){
		cout<<-1<<endl;
	}    
    else{
    	int cnt = 0 ;
    	//start表示起始位置 
    	int start = b.find(a);
    	//tmp表示临时变量 
    	int tmp = b.find(a);
    	while(tmp != string::npos){
    		cnt++;
    		tmp = b.find(a,tmp+1);
		}
		cout<<cnt<<' '<<start;
	}
    

	return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值