0
点赞
收藏
分享

微信扫一扫

CF1156B Ugly Pairs


题目链接:​​传送门​​

调了一个小时的dfs被边界搞死了
总是少一个字母
弃了
然后就看到了网上的贪心
简洁易懂

/**
* @Date: 2019-05-11T10:54:24+08:00
* @Email: 2743292121@qq.com
* @Last modified time: 2019-05-11T14:39:35+08:00
*/
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <complex>
#include <algorithm>
#include <climits>
#include <queue>
#include <map>
#include <set>
#include <vector>
#include <iomanip>
#define
#define

using namespace std;
typedef long long ll;
string s1, s2, s;
int T, c[A];

int main(int argc, char const *argv[]) {
cin >> T;
while (T--) {
s1 = s2 = "";
memset(c, 0, sizeof c);
cin >> s;
for (int i = 0; i < s.length(); i++) c[s[i]]++;
for (int i = 'a'; i <= 'z'; i += 2) while (c[i]--) s1 += i;
for (int i = 'a' + 1; i <= 'z'; i += 2) while (c[i]--) s2 += i;
if (abs(s1.back() - s2.front()) != 1) cout << s1 << s2 << endl;
else if (abs(s2.back() - s1.front()) != 1) cout << s2 << s1 << endl;
else puts("No answer");
}
return 0;
}


举报

相关推荐

0 条评论