2013年9月1日

UVa 1209 - Wordfish

#include <cstdio>
#include <string>
#include <algorithm>
using namespace std;

int main() {
  char s[99];
  while (gets(s)) {
    int len = string(s).length();
    for (int i = 0; i < 10; i++) {
      prev_permutation(s, s + len);
    }
    int dis = 0;
    string ans;
    for (int i = 0; i < 21; i++) {
      int d = 2e9;
      for (int i = 1; s[i]; i++) {
        d = min(d, abs(s[i] - s[i - 1]));
      }
      if (d > dis) {
        dis = d;
        ans = s;
      }
      next_permutation(s, s + len);
    }
    printf("%s%d\n", ans.c_str(), dis);
  }
  return 0;
}

沒有留言:

張貼留言