QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#250389#7773. 重排hos_lyric#10 1ms3960kbC++141.9kb2023-11-13 08:43:592024-07-04 02:51:28

Judging History

你现在查看的是最新测评结果

  • [2024-07-04 02:51:28]
  • 评测
  • 测评结果:10
  • 用时:1ms
  • 内存:3960kb
  • [2023-11-13 08:43:59]
  • 提交

answer

#include <cassert>
#include <cmath>
#include <cstdint>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <bitset>
#include <complex>
#include <deque>
#include <functional>
#include <iostream>
#include <limits>
#include <map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <sstream>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>

using namespace std;

using Int = long long;

template <class T1, class T2> ostream &operator<<(ostream &os, const pair<T1, T2> &a) { return os << "(" << a.first << ", " << a.second << ")"; };
template <class T> ostream &operator<<(ostream &os, const vector<T> &as) { const int sz = as.size(); os << "["; for (int i = 0; i < sz; ++i) { if (i >= 256) { os << ", ..."; break; } if (i > 0) { os << ", "; } os << as[i]; } return os << "]"; }
template <class T> void pv(T a, T b) { for (T i = a; i != b; ++i) cerr << *i << " "; cerr << endl; }
template <class T> bool chmin(T &t, const T &f) { if (t > f) { t = f; return true; } return false; }
template <class T> bool chmax(T &t, const T &f) { if (t < f) { t = f; return true; } return false; }
#define COLOR(s) ("\x1b[" s "m")


int N;
char S[1'000'010];


namespace brute {
string run() {
cerr<<"[brute::run]"<<endl;
  string s = S;
  reverse(s.begin() + 1, s.end());
  do {
    bool ok = true;
    for (int i = 1; i < N; ++i) {
      for (int j = 0, jj = i; j < N; ++j, ++jj) {
        if (jj == N) jj = 0;
        if (s[j] < s[jj]) break;
        if (s[j] > s[jj]) { ok = false; break; }
      }
      if (!ok) break;
    }
    if (ok) {
      return s;
    }
  } while (prev_permutation(s.begin() + 1, s.end()));
  assert(false);
}
}  // brute


int main() {
  for (; ~scanf("%s", S); ) {
    N = strlen(S);
    sort(S, S + N);
    
    const string ans = brute::run();
    puts(ans.c_str());
  }
  return 0;
}

详细

Subtask #1:

score: 10
Accepted

Test #1:

score: 10
Accepted
time: 0ms
memory: 3664kb

input:

mmmmmmmmm

output:

mmmmmmmmm

result:

ok single line: 'mmmmmmmmm'

Test #2:

score: 0
Accepted
time: 0ms
memory: 3696kb

input:

qqymfqgj

output:

fyqqqmjg

result:

ok single line: 'fyqqqmjg'

Test #3:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

wtzyztttz

output:

tywtztztz

result:

ok single line: 'tywtztztz'

Test #4:

score: 0
Accepted
time: 0ms
memory: 3888kb

input:

bcbccccbcc

output:

bccbccbccc

result:

ok single line: 'bccbccbccc'

Test #5:

score: 0
Accepted
time: 0ms
memory: 3932kb

input:

hojqbzgfb

output:

bqojhgfbz

result:

ok single line: 'bqojhgfbz'

Test #6:

score: 0
Accepted
time: 0ms
memory: 3596kb

input:

rjyrbjqlz

output:

bzyrrqljj

result:

ok single line: 'bzyrrqljj'

Test #7:

score: 0
Accepted
time: 0ms
memory: 3680kb

input:

oiyholvco

output:

cyvooolih

result:

ok single line: 'cyvooolih'

Test #8:

score: 0
Accepted
time: 1ms
memory: 3612kb

input:

ubbnfttog

output:

bttongfbu

result:

ok single line: 'bttongfbu'

Test #9:

score: 0
Accepted
time: 0ms
memory: 3600kb

input:

hhuhttttj

output:

htthuhttj

result:

ok single line: 'htthuhttj'

Test #10:

score: 0
Accepted
time: 0ms
memory: 3960kb

input:

rnurrrrkrr

output:

kurrrrrrrn

result:

ok single line: 'kurrrrrrrn'

Test #11:

score: 0
Accepted
time: 0ms
memory: 3640kb

input:

wwwwrrwwrr

output:

rwrwwrwrww

result:

ok single line: 'rwrwwrwrww'

Test #12:

score: 0
Accepted
time: 0ms
memory: 3632kb

input:

tppvcjlls

output:

cvtsppllj

result:

ok single line: 'cvtsppllj'

Test #13:

score: 0
Accepted
time: 0ms
memory: 3612kb

input:

fyrrwriyxr

output:

fyyxwrrrri

result:

ok single line: 'fyyxwrrrri'

Test #14:

score: 0
Accepted
time: 0ms
memory: 3924kb

input:

ouulnlasnu

output:

auuusonnll

result:

ok single line: 'auuusonnll'

Test #15:

score: 0
Accepted
time: 0ms
memory: 3920kb

input:

aasapssss

output:

aspassass

result:

ok single line: 'aspassass'

Subtask #2:

score: 0
Time Limit Exceeded

Test #16:

score: 20
Accepted
time: 0ms
memory: 3616kb

input:

bbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

output:

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc

result:

ok single line: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc'

Test #17:

score: -20
Time Limit Exceeded

input:

aaaaaaaabcaabacacaaaacaaabaaaabaabaaaaac

output:


result:


Subtask #3:

score: 0
Time Limit Exceeded

Test #31:

score: 0
Time Limit Exceeded

input:

elppjxhjnqephxnnleeepqllpeellqpleexepxlqnpelnlpgplxejlpllppleppnllhjhppgneleghexegqpxpqlqhpnenhlgjjepelllpexplqeppexpqeghpplnpxegeeehqgnhxeqllplphlxpppqnhqephlqnxenlehpeplnqenheejhxqxleeljepehlngepgpxpllppeeheelpplpexpqgheelllplpqnllexlphepghllxnnepqjpqepjeheqqghhejhlnlnlqleeplepxhnlqlnppjpeelqeelxg...

output:


result:


Subtask #4:

score: 0
Time Limit Exceeded

Test #46:

score: 0
Time Limit Exceeded

input:

ksetiktesataqqwcetteiqcqtwakaiaaaqciceaticteectqqtcaectqtsticctqeqeeiieecaqtctctqqeqitqtttccccctikacktaaqteictwstcitttectaitttiqeqasskkqaateeaatqaetttccesqitiecatgqqaqitwqtaqqcqittittiswcweaiqicqiecwtccakaattgtickccqkqckaaewkekccggtiiqqsttcqactiqeaeqtiigeekettaieekectqqckqqteiceacwecktaiteaceaqkqeic...

output:


result: