求助
查看原帖
求助
961207
Willow1184楼主2023/10/7 12:41

输入输出样例能过,但是wa了。

以下是我的源代码:

#include <iostream>
using namespace std;

int main()
{
	string Input;
	cin >> Input;

	string SubString = "", SubStringInLeft = "", SubStringInRight = "";
	bool FindSubStringInLR = false;
	for (int i = 0; i < (Input.length() - 1) / 2; i++)
	{
		SubStringInLeft += Input[i];
		SubStringInRight = Input[Input.length() - 1 - i] + SubStringInRight;
		
		if (SubStringInLeft == SubStringInRight)
		{
			FindSubStringInLR = true;
			SubString = SubStringInLeft;
		}
	}

	bool FindSubStringInMiddle = false;
	string NewSubString = "";
	if (FindSubStringInLR)
	{
		for (int i = SubString.length() - 1; i < Input.length() - SubString.length() - 1; i++)
		{
			for (int j = 1; j <= SubString.length(); j++)
			{
				if (Input.substr(i, j) == SubString.substr(0, j))
				{
					FindSubStringInMiddle = true;

					if (NewSubString.length() < Input.substr(i, j).length())
					{
						NewSubString = Input.substr(i, j);
					}
				}
				else
				{
					break;
				}
			}
		}
	}

	if (FindSubStringInLR && FindSubStringInMiddle)
	{
		cout << SubString;
	}
	else
	{
		cout << "Just a legend";
	}
}
2023/10/7 12:41
加载中...