60求助,不知道错哪了???
查看原帖
60求助,不知道错哪了???
556792
C_sir楼主2022/10/10 17:21
#include<bits/stdc++.h>
#include<string>
using namespace std;
string s,z;
char cx(char x) {
	return tolower(x);
}
char cd(char x) {
	return toupper(x);
}
//int sum(const std::string& str, const std::string& sub) {
//	int shu=0,zui;
//	for (size_t i=0; (i=str.find(sub,i)) != std::string::npos; shu++, i++);
//	return shu;
//}
int main() {
	int a,b,ans=0,v,m=0;
	getline(cin,z);
	getline(cin,s);
//    cout<<cd(z[0])<<" "<<cx(z[0]);
	for(int i=0; i<=s.length(); i++) {
		if(s[i-1]==' '&&s[i]!=' ') { 
			if(s[i]==z[0]||s[i]==cx(z[0])||s[i]==cd(z[0])) {
//    		cout<<1<<endl;
				v=0;
				for(int j=i,k=0; j<i+z.length(),k<z.length(); j++,k++) {
					if(s[j]!=z[k]&&s[j]!=cd(z[k])&&s[j]!=cx(z[k])) {
//    				cout<<2<<endl;
//                        cout<<i+1<<" "<<s[j]<<" "<<z[k]; 
						v=1;
//						cout<<endl;
						break;
					}
				}
				if(v==0) ans++;
				if(v==0&&m==0) a=i,m=1;
			}
		}
//    	cout<<s[i];
		else if(i==0&&s[i]!=' ')
		{
			if(s[i]==z[0]||s[i]==cx(z[0])||s[i]==cd(z[0])) {
//    		cout<<1<<endl;
				v=0;
				for(int j=i,k=0; j<i+z.length(),k<z.length(); j++,k++) {
					if(s[j]!=z[k]&&s[j]!=cd(z[k])&&s[j]!=cx(z[k])) {
//    				cout<<2<<endl;
						v=1;
						break;
					}
				}
				if(v==0) ans++;
				if(v==0&&m==0) a=i,m=1;
			}
		}
	}
	if(ans==0) {
		cout<<-1<<endl;
		return 0;
	}
	cout<<ans<<" ";
	cout<<a;
	return 0;
}
2022/10/10 17:21
加载中...