使用了getline,但是似乎没法获取全部的数据
查看原帖
使用了getline,但是似乎没法获取全部的数据
1061428
lclclca楼主2024/3/5 20:19

70分,把WA的数据粘下来输入到本地发现输不全,只能输一部分,再输就没反应了。

#include<iostream>
#include<algorithm>
#include<vector>
#include<string>
using namespace std;
int main() 
{
	string aim;
	getline(cin, aim);
	string ss;
	getline(cin,ss);
	int right = 0;
	//顶格或者前面是空格,后面也是空格。
	//toupper()
	if (toupper(ss[0])==toupper(aim[0])) {
		for (int i = 0;i < aim.size();i++) {
			if (toupper(ss[i]) == toupper(aim[i])) {
				if (i == aim.size()-1) {
					right = 1;
				}
				continue;
			}
		}
	}
	int num = 0;
	if (right == 1) {
		num = 1;
	}
	//顶格结束,从第2个字母开始
	int mark = 0;
	for (int i = 1;i < ss.size();i++) {
		if(ss[i-1]==' ' && (toupper(ss[i]) == toupper(aim[0]))) {
			for (int j = 0;j < aim.size();j++) {
				if (toupper(ss[i+j]) == toupper(aim[j])) {
					if (j == aim.size() - 1&&(ss[i+j+1]==' '||i+j+1>ss.size()-1)) {
						if (right == 0) {
							mark = i;//还没出现过,记下位置。
						}
						num++;
						right = 1;
					}
					continue;
				}
			}
		}
	}
	if (right == 1) {
		cout << num<<' '<<mark;
	}
	
	if (right == 0) {
		cout << -1;
	}
}
2024/3/5 20:19
加载中...