HDU 6543 http://acm.hdu.edu.cn/showproblem.php?pid=6543
题目大意:判断两字符串,要是相等就Equal 否则第一位和最后一位相等且所用字符全部相同就输出Yes 其余情况全部输出NO
AC代码:
#include<iostream>
#include<cmath>
#include <cstring>
#include <algorithm>
using namespace std;
const int MAXN = 1e6 + 10;
long long a[MAXN],t[MAXN],b[MAXN],a1[MAXN],b1[MAXN];
string s1,s2;
int main() {
while(cin >> s1 >> s2) {
int len1 = s1.length();
int len2 = s2.length();
if(len1 ==len2 ) {
if(s1 == s2) cout << "Equal" << endl;
else if(s1[0] == s2[0] && s1[len1 -1] == s2[len2 - 1]) {
sort(s1.begin(),s1.end());
sort(s2.begin(),s2.end());
if(s1 == s2) cout <<"Yes" << endl;
else cout << "No" << endl;
}
else cout << "No" << endl;
}
else cout << "No" << endl;
}
return 0;
}