QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#208092#1361. Ant TypingrlongWA 254ms3776kbC++14970b2023-10-09 05:41:432023-10-09 05:41:43

Judging History

This is the latest submission verdict.

  • [2023-10-09 05:41:43]
  • Judged
  • Verdict: WA
  • Time: 254ms
  • Memory: 3776kb
  • [2023-10-09 05:41:43]
  • Submitted

answer

#include <bits/stdc++.h>
#define int long long
using namespace std;


void solve() {
    string s; cin >> s;
    vector<vector<int>> cnts(10, vector<int>(10, 0));
    int mincost = LONG_MAX;
    for(int i = 0; i < s.length() - 1; i++) {
        cnts[s[i] - '0'][s[i+1] - '0']++;
    }
    vector<int> nums = {1, 2, 3, 4, 5, 6, 7, 8, 9};
    map<int, int> mp;
    
    do {
        for (int i = 0; i < 9; ++i) {
            mp[nums[i]] = i;
        }
        int cur = s.length();
        for (int i = 1; i < 10; i++) {
            for (int j = 1; j < 10; j++) {
                cur += cnts[i][j] * (abs(mp[i] - mp[j]) + (i == j));
            }
        }
        cur += mp[s[0] - '0'];
        mincost = min(mincost, cur);
    } while (next_permutation(nums.begin(), nums.end()));

    cout << mincost << "\n";
    return;
}


signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    solve();
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 254ms
memory: 3640kb

input:

6

output:

1

result:

ok single line: '1'

Test #2:

score: -100
Wrong Answer
time: 245ms
memory: 3776kb

input:

352836512461179399826927828445163785261417666171453483576899676763764928341261962358737253818463814858565221466575498899898835568743316628247174676952381449147193191788177911797527361649543158616436321694172452689147288835568666918784929695569394655833978219612584637258492511247969998253315177569943...

output:

404250

result:

wrong answer 1st lines differ - expected: '392933', found: '404250'