1 条题解

  • 1
    @ 2024-7-28 9:01:05
    #include<iostream>
    #include<string.h>
    using namespace std;
    string a;
    char calc(char s)
    {
    	if(s>=97)
    		s-=32;
    	return s;
    }
    bool flag(char s)
    {
    	if((s>='a'&&s<='z')||(s>='A'&&s<='Z')) return true;
    	return false;
    }
    int main()
    {
    	getline(cin,a);
    	int len=a.size();
    	int l=0,r=0;
    	int maxx=0;
    	for(int i=0;i<len;i++)
    	{
    		if(flag(a[i]))
    		{
    			for(int j=i+1;j<len;j++)
    			{
    				if(calc(a[i])==calc(a[j]))
    				{
    					int idl=i,idr=j;
    					while(idl<=idr)
    					{
    						char ls,rs;
    						ls=calc(a[idl]);
    						rs=calc(a[idr]);
    						if(ls!=rs||!flag(ls)) break;
    						idl++;
    						while(!flag(a[idl])&&idl<=idr) idl++;
    						idr--;
    						while(!flag(a[idr])&&idl<=idr) idr--;
    					}
    					if(idl>idr&&maxx<j-i+1)
    					{
    						maxx=j-i+1;
    						l=i,r=j;
    					}
    				}
    			}
    		}
    	}
    	for(int i=l;i<=r;i++) cout<<a[i];
    	return 0;
    }
    
    • 1

    信息

    ID
    1178
    时间
    1000ms
    内存
    128MiB
    难度
    3
    标签
    递交数
    40
    已通过
    22
    上传者