cf柠萌,billy strings
构想:
首先,判断a和b的长度,如果不同的话,直接结束后计算不同的部分。 即使不是2也直接结束。 因为标题说用两个字交换,所以必须有两个不同的字进行排序。 然后,判断b不是a的字符串,否则结束,如果不满足上述条件,则输出“YES”的代码
# include bits/stdc.husingnamespacestd; int cnt=0; char a[100001],b[100001]; int main () { cina; cinb; intLena=strlen(a ),lenb=strlen(b ) ) b; //计算长度if (Lena!=lenb(//如果长度不同,绝对不行。 直接结束计数; 返回0; //直接退出}for(intI=0; ilena; I ) if ) a[I]!=b[I](CNT; //计算不相等的字符数if (CNT!=2) { cout'NO '; 返回0; }sort(a,a lena ); sort(b,b lenb ); //排序(也可以冒泡) if ) strstr(a,b )==true ) cout'YES ); //strstr的作用是b为a的子字符串else cout'NO '; 返回0; }