提出 #577261


ソースコード 拡げる

#include<bits/stdc++.h>

#define REP(i,n) for(int i = 0;i<(int) (n);i++)
#define ALL(x) (x).begin(),(x).end()
using namespace std;

typedef long long ll;
ll s2l(string S) {
  ll res = 0;
  int n = S.length();
  REP(i,n) {
    res *= 10;
    res += S[i] - '0';
  }
  return res;
}

ll eval(string S, string K) {
  int n = S.length();
  ll s = s2l(S), k = s2l(K);
  ll base = 1;
  REP(i,n) base *= 10;
  return min(abs(s - k), base - abs(s - k));
}

int main(){
  string S;
  cin >> S;
  int n = S.length();
  string T = "0123456789";
  string res = "*";
  do{
    string tmp = T.substr(0, n);
    if(res == "*") {
      res = tmp;
    }else {
      ll resdist = eval(S, res);
      ll tmpdist = eval(S, tmp);
      if(resdist < tmpdist) {
        res = tmp;
      }else if(resdist == tmpdist) {
        if(s2l(res) > s2l(tmp)) res = tmp;
      }
    }
  }while(next_permutation(T.begin(), T.end()));
  
  cout << res << endl;
}

提出情報

提出日時
問題 B - Change a Password
ユーザ lungman
言語 C++11 (GCC 4.8.1)
得点 100
コード長 973 Byte
結果 AC
実行時間 3199 ms
メモリ 924 KiB

ジャッジ結果

セット名 All
得点 / 配点 100 / 100
結果
AC × 61
セット名 テストケース
All 00_test_00, 00_test_01, 00_test_02, 00_test_03, 01_rand_00, 01_rand_01, 01_rand_02, 01_rand_03, 01_rand_04, 01_rand_05, 01_rand_06, 01_rand_07, 01_rand_08, 01_rand_09, 01_rand_10, 01_rand_11, 01_rand_12, 01_rand_13, 01_rand_14, 01_rand_15, 01_rand_16, 01_rand_17, 01_rand_18, 01_rand_19, 01_rand_20, 01_rand_21, 01_rand_22, 01_rand_23, 01_rand_24, 01_rand_25, 01_rand_26, 01_rand_27, 01_rand_28, 01_rand_29, 01_rand_30, 01_rand_31, 01_rand_32, 01_rand_33, 01_rand_34, 01_rand_35, 01_rand_36, 01_rand_37, 01_rand_38, 01_rand_39, 01_rand_40, 01_rand_41, 01_rand_42, 01_rand_43, 01_rand_44, 01_rand_45, 01_rand_46, 01_rand_47, 01_rand_48, 01_rand_49, 99_handmake_00, 99_handmake_01, 99_handmake_02, 99_handmake_03, 99_handmake_04, 99_handmake_05, 99_handmake_06
ケース名 結果 実行時間 メモリ
00_test_00 AC 2851 ms 796 KiB
00_test_01 AC 2541 ms 920 KiB
00_test_02 AC 3199 ms 672 KiB
00_test_03 AC 2838 ms 796 KiB
01_rand_00 AC 2937 ms 800 KiB
01_rand_01 AC 2842 ms 796 KiB
01_rand_02 AC 2948 ms 672 KiB
01_rand_03 AC 2908 ms 924 KiB
01_rand_04 AC 2770 ms 800 KiB
01_rand_05 AC 3036 ms 804 KiB
01_rand_06 AC 2760 ms 792 KiB
01_rand_07 AC 2779 ms 800 KiB
01_rand_08 AC 2954 ms 800 KiB
01_rand_09 AC 2972 ms 672 KiB
01_rand_10 AC 2751 ms 800 KiB
01_rand_11 AC 2951 ms 672 KiB
01_rand_12 AC 2953 ms 804 KiB
01_rand_13 AC 2930 ms 808 KiB
01_rand_14 AC 2980 ms 796 KiB
01_rand_15 AC 2892 ms 792 KiB
01_rand_16 AC 2575 ms 804 KiB
01_rand_17 AC 2773 ms 808 KiB
01_rand_18 AC 3010 ms 796 KiB
01_rand_19 AC 3049 ms 804 KiB
01_rand_20 AC 2585 ms 920 KiB
01_rand_21 AC 2861 ms 796 KiB
01_rand_22 AC 2887 ms 796 KiB
01_rand_23 AC 2843 ms 924 KiB
01_rand_24 AC 2830 ms 796 KiB
01_rand_25 AC 2790 ms 796 KiB
01_rand_26 AC 2890 ms 804 KiB
01_rand_27 AC 2666 ms 804 KiB
01_rand_28 AC 2842 ms 796 KiB
01_rand_29 AC 2982 ms 792 KiB
01_rand_30 AC 3129 ms 800 KiB
01_rand_31 AC 2862 ms 804 KiB
01_rand_32 AC 2954 ms 804 KiB
01_rand_33 AC 2978 ms 792 KiB
01_rand_34 AC 3072 ms 792 KiB
01_rand_35 AC 2823 ms 804 KiB
01_rand_36 AC 2846 ms 796 KiB
01_rand_37 AC 2763 ms 804 KiB
01_rand_38 AC 2685 ms 796 KiB
01_rand_39 AC 3070 ms 804 KiB
01_rand_40 AC 2872 ms 792 KiB
01_rand_41 AC 2970 ms 672 KiB
01_rand_42 AC 2939 ms 920 KiB
01_rand_43 AC 2903 ms 920 KiB
01_rand_44 AC 3007 ms 812 KiB
01_rand_45 AC 2871 ms 796 KiB
01_rand_46 AC 2775 ms 800 KiB
01_rand_47 AC 2926 ms 800 KiB
01_rand_48 AC 2938 ms 676 KiB
01_rand_49 AC 2874 ms 808 KiB
99_handmake_00 AC 2897 ms 812 KiB
99_handmake_01 AC 3000 ms 796 KiB
99_handmake_02 AC 2987 ms 804 KiB
99_handmake_03 AC 2893 ms 924 KiB
99_handmake_04 AC 2902 ms 804 KiB
99_handmake_05 AC 2908 ms 796 KiB
99_handmake_06 AC 2993 ms 796 KiB