QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#423783#3230. Beautiful Nowqypnf0 1ms3624kbC++141.7kb2024-05-28 16:33:312024-05-28 16:33:31

Judging History

This is the latest submission verdict.

  • [2024-05-28 16:33:31]
  • Judged
  • Verdict: 0
  • Time: 1ms
  • Memory: 3624kb
  • [2024-05-28 16:33:31]
  • 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]].begin());
            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: 3624kb

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 
514272214 754412212 
234855675 876555432 
123456789 987652134 
123456789 987654321 
111133348 843331111 
595566869 998666555 
812456791 987654211 
2035699 9965320 
923498752 998753242 
123456879 987654312 
123456789 987654312 
102975794 ...

result:

wrong answer 4th lines differ - expected: '112272454 754412212', found: '514272214 754412212 '