暴力模拟爆全WA求调
查看原帖
暴力模拟爆全WA求调
1086462
HYJHELLO楼主2023/10/19 21:22
#include<bits/stdc++.h>
using namespace std;
int main()
{
	int n;
	cin>>n;
	char c[20][15]={};
	int ct[20]={};
	int ans={};
	int num,len,len_;
	num=len=len_=0;
	for(int i=0;i<n;i++)
	{
		for(int j=0;j<15;j++)
		{
			cin>>c[i][j];
		}
		num++;
	}
	char s;
	cin>>s;
	int c2;
	for(int i=0;i<num;i++)
	{
		if(c[i][0]==s)
		{
			ans=strlen(c[i]);
			len++;
			ct[i]++;
			c2=i;
		}
	}
	for(int i=0;i<num*2;i++)
	{
		for(int j=0;j<15;j++)
		{
			if(c2!=j&&ct[j]<2)
			{
				char c_[15]={};
				bool dm=true;
				int len2;
				for(int k=0;k<max(strlen(c[c2]),strlen(c[j]));k++)
				{
					c_[k]=c[j][k];
					for(int l=strlen(c[c2])-k;l<strlen(c[c2]);l++)
					{
						if(c[c2][l]!=c_[l])
						{
							dm=false;
						}
					}
					if(dm)
					{
						len2=k;
					}
					else
					{
						break;
					}
				}
				if(len2<len)
				{
					len=len2;
					len_=j;
				}
			}
		}
		ans+=len;
		ct[len_]++;
		c2=len_;
	}
	cout<<ans;
	return 0;
}

本人不会深搜

2023/10/19 21:22
加载中...