试图暴力:第24个点WA了……没有数据找不到原因……
查看原帖
试图暴力:第24个点WA了……没有数据找不到原因……
540597
玖玖玖玖楼主2021/12/8 18:53
#include<bits/stdc++.h>
using namespace std;
string a,b;
int ans=0,tot=0;
int kw[1000005];

int main()
{
    cin>>a>>b;
	int l=b.size();
	int i=0;
	while(i<l)
	{
	    if(a[i]!=b[i])//搜到不相同的 
	    {
	    	if(a[i+1]!=b[i]) {cout<<0;return 0;}//第二个也不相同,没可能了,直接输出0吧 
	    	else
	    	{
	    		ans++;
	    		kw[++tot]=i+1;
	    		for(int j=i;j;j--)//向前搜 
	    		{
	    			if(a[j]==a[j-1])
	    			{
	    				ans++;
	    				kw[++tot]=j;//本来应该是j-1,但字符串下标从0开始,字母编号从1开始,所以干脆是j了 
				    }
					else {break;}
				}
				break;
			}
		}
		i++;
	}
	if(ans==0)
	{
		ans++;
		kw[++tot]=i+1;
	    while(i>=0)//向前搜 
	    {
	        if(a[i]==a[i-1])
	    	{
	    		ans++;
	    		kw[++tot]=i;
			}
			else {break;}
			i--;
		}		
	}
	cout<<ans<<endl;
	for(int i=ans;i>0;i--)//以增序输出 
	{
		cout<<kw[i]<<" ";
	}
	return 0;	
}
2021/12/8 18:53
加载中...