QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#59761#1361. Ant TypingziadTL 14ms3572kbC++231.5kb2022-11-01 02:13:532022-11-01 02:13:55

Judging History

This is the latest submission verdict.

  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2022-11-01 02:13:55]
  • Judged
  • Verdict: TL
  • Time: 14ms
  • Memory: 3572kb
  • [2022-11-01 02:13:53]
  • Submitted

answer

#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <vector>
#include <set>
#include <map>
#include <stack>
#include <unordered_set>
#include <unordered_map>
#include <queue>
#include <ctime>
#include <cassert>
#include <complex>
#include <string>
#include <cstring>
#include <chrono>
#include <random>
#include <bitset>
#include <array>
#include <climits>
// #pragma GCC optimize ("O3")
// #pragma GCC optimize ("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
typedef long long ll;
typedef long double ld;
using namespace std;
const int N = 1e3 + 5;
const int M = 1e5 + 5;
const int MOD = 998244353;

int n, dis[14][14];
string s;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    // cout.tie(nullptr);

    cin >> s;
    n = s.size();
    vector<int> perm(9);
    iota(perm.begin(), perm.end(), 1);
    ll ans = LLONG_MAX;
    do {
        ll cur_ans = 0;
        for (int i = 0; i < 9; ++i) {
            for (int j = 0; j < 9; ++j) {
                dis[perm[i]][perm[j]] = abs(i - j);
            }
        }
        int cur_pos = perm[0];
        for (int i = 0; i < n; ++i) {
            int next_key = s[i] - '0';
            cur_ans += dis[cur_pos][next_key] + 1;
            cur_pos = next_key;
        }
        ans = min(ans, cur_ans);
    } while (next_permutation(perm.begin(), perm.end()));
    cout << ans << '\n';
    return 0;
}



詳細信息

Test #1:

score: 100
Accepted
time: 14ms
memory: 3572kb

input:

6

output:

1

result:

ok single line: '1'

Test #2:

score: -100
Time Limit Exceeded

input:

352836512461179399826927828445163785261417666171453483576899676763764928341261962358737253818463814858565221466575498899898835568743316628247174676952381449147193191788177911797527361649543158616436321694172452689147288835568666918784929695569394655833978219612584637258492511247969998253315177569943...

output:


result: