两个样例过了,但是还是有wa,大佬们sos
查看原帖
两个样例过了,但是还是有wa,大佬们sos
782443
WINHHH666楼主2023/1/13 00:24
#include <iostream>
#include <string>
using namespace std;

int main () {
	string h;
	string m;
	cin >> h;
	getchar();
	getline(cin, m);
	for (int i = 0; i < h.length(); i++) {
		if (h[i] >= 'A' && h[i] <= 'Z') {
			h[i] = h[i] - 'A' + 'a';
		}
	}
	for (int i = 0; i < m.length(); i++) {
		if (m[i] >= 'A' && m[i] <= 'Z') {
			m[i] = m[i] - 'A' + 'a';
		}
	}
	int x = m.find(h);
	int mark = 0;
	if (x < m.length()) {
		for (int i = x; i < m.length() - h.length(); i++) {
			int ans = 0;
			int j;
			for ( j = i; j < i + h.length(); j++) {
				if (h[j - i] == m[j])
					ans++;
			}
			if (i == 0) {

				if (m[i + h.length()] == ' ' && ans == h.length())
					mark++;
			} else if (i > 0) {
				if (m[i - 1] == ' ' && m[i + h.length()] == ' ' && ans == h.length()) {
					mark++;
				}
			}
		}
		if (mark > 0) {

			cout << mark << ' ' << x;
			return 0;
		}
	}
	cout << -1;

	return 0;
}

还是有好几个WA

2023/1/13 00:24
加载中...