1 条题解

  • 0
    @ 2025-9-6 17:16:08
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
    	int n,i,f,m;
    	cin>>n;
    	string a[n],s[n];
    	int la[n],ls[n];
    	for(i=0;i<n;i++)
    	{
    		cin>>s[i];
    		cin>>a[i];//输入
    		la[i]=a[i].length();
    		ls[i]=s[i].length();//获取字符串长度
    	}
    	for(i=0;i<n;i++)
    	{
    		f=0;//初始化字符串定位
    		m=0;//初始化缩写定位
    		if(s[i][0]==a[i][0])//对第一个首字母进行判断
    		{
    			m++;
    			for(f=1;f<ls[i];f++)
    			{
    				if(s[i][f]=='_')//通过下划线定位首字母
    				{
    					if(s[i][f+1]==a[i][m])//判断下划线后的首字母是否正确
    					{
    						m++;
    					}
    					else
    					{
    						cout<<"NO"<<endl;
    						break;
    					}
    				}
    				if(m==la[i])
    				{
    					cout<<"YES"<<endl;
    					break;
    				}
    				else if(f==ls[i]-1)
                      cout<<"NO"<<endl;
    				
    			}
    		}
    		else
    			cout<<"NO"<<endl;
    	}
    	return 0;
    }
    
    • 1

    信息

    ID
    186
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    106
    已通过
    19
    上传者