QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#423782#3230. Beautiful Nowqypnf0 1ms3556kbC++141.7kb2024-05-28 16:32:342024-05-28 16:32:35

Judging History

This is the latest submission verdict.

  • [2024-05-28 16:32:35]
  • Judged
  • Verdict: 0
  • Time: 1ms
  • Memory: 3556kb
  • [2024-05-28 16:32:34]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

void mn (vector < int > a, int k) {

    auto b = a;
    sort(b.begin(), b.end());
    for (int i = 0; i < a.size(); ++i) {
        if (b[i]) {
            swap(b[0], b[i]);
            break;
        }
    }

    set < int > p[10];

    for (int i = 0; i < a.size(); ++i)
        p[a[i]].insert(i);

    for (int i = 0; i < a.size() && k; ++i) {

        if (a[i] != b[i]) {
            int x = *(--p[b[i]].end());
            p[a[i]].erase(i);
            p[b[i]].erase(x);
            p[b[i]].insert(i);
            p[a[i]].insert(x);
            swap(a[i], a[x]);
            k--;
        }

    }

    for (int i : a)
        cout << i;
    cout << " ";
}

void mx (vector < int > a, int k) {
    auto b = a;
    sort(b.begin(), b.end());
    reverse(b.begin(), b.end());

    set < int > p[10];

    for (int i = 0; i < a.size(); ++i)
        p[a[i]].insert(i);

    for (int i = 0; i < a.size() && k; ++i) {

        if (a[i] != b[i]) {
            int x = *(--p[b[i]].end());
            p[a[i]].erase(i);
            p[b[i]].erase(x);
            p[b[i]].insert(i);
            p[a[i]].insert(x);
            swap(a[i], a[x]);
            k--;
        }

    }

    for (int i : a)
        cout << i;
    cout << " ";

}

void slv () {
    int n, k;
    cin >> n >> k;

    vector < int > a;
    while (n) {
        a.push_back(n % 10);
        n /= 10;
    }
    reverse(a.begin(), a.end());

    mn(a, k);
    mx(a, k);
}

int32_t main () {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    int test = 1;
    cin >> test;
    while (test--) {
        slv();
        cout << "\n";
    }
}

詳細信息

Test #1:

score: 0
Wrong Answer
time: 1ms
memory: 3556kb

input:

100
645637224 8
397815246 8
239758591 7
152472214 2
485635752 8
128947635 5
938124675 8
311384311 8
665595968 7
284675191 6
3596920 776160768
428993752 4
796354812 4
342871569 7
952970714 2
399469166 8
774997047 1
534968712 5
574918236 3
564999511 645561291
791543286 7
171222224 7
319647582 2
241573...

output:

223445667 766544322 
123456789 987654321 
123557899 998755321 
112272454 754412212 
234555678 876555432 
123456789 987652134 
123456789 987654321 
111133348 843331111 
555666899 998666555 
112456897 987654211 
2035699 9965320 
223458799 998753242 
123456879 987654312 
123456789 987654312 
102975794 ...

result:

wrong answer 10th lines differ - expected: '112456798 987654211', found: '112456897 987654211 '