Submission #500775


Source Code Expand

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <vector>
#include <algorithm>
#include <map>
using namespace std;

#define rep(i,n) for(int i=0;i<n;i++)

typedef long long ll;

string s;

int main(){
    cin>>s;
    vector<bool> ss(26,false);
    for(int i=0;i<s.size();i++) ss[s[i]-'a']=true;
    int num = 0;
    for(int i=0;i<26;i++) if(ss[i]) num++;
    if(num>6){
        cout << -1 << endl;
        return 0;
    }

    vector<char> v;
    for(int i=0;i<26;i++){
        if(ss[i]){
            v.push_back(i+'a');
        }
    }
    int n=s.size();
    vector<char> vv(5);
    vv[0]='1';
    vv[1]='3';
    vv[2]='5';
    vv[3]='7';
    vv[4]='9';
    sort(vv.begin(),vv.end());
    do{
        map<char,char> m;
        for(int i=0;i<num;i++){
            m[v[i]]=vv[i];
        }
        //string ret(n,0);
        char ret[15];
        for(int i=0;i<s.size();i++){
            ret[i]=m[s[i]];
        }
        ret[s.size()]='\0';
        ll t=atol(ret);
        bool f=true;
        if(t==1){
            f=false;
        }
        for(ll i=2;i*i<=t;i++){
            if(t%i==0){
                f=false;
                break;
            }
        }
        if(f){
            cout << ret << endl;
            return 0;
        }
    }while(next_permutation(vv.begin(),vv.end()));
    cout << -1 << endl;
    return 0;
}

Submission Info

Submission Time
Task D - 文字列と素数
User eigorian
Language C++11 (GCC 4.9.2)
Score 50
Code Size 1419 Byte
Status AC
Exec Time 30 ms
Memory 932 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 50 / 50
Status
AC × 3
AC × 25
Set Name Test Cases
Sample 00_sample_00, 00_sample_01, 00_sample_02
All 00_sample_00, 00_sample_01, 00_sample_02, 05_rand_00, 05_rand_01, 05_rand_02, 05_rand_03, 05_rand_04, 05_rand_05, 05_rand_06, 05_rand_07, 05_rand_08, 05_rand_09, 15_rand_00, 15_rand_01, 15_rand_02, 15_rand_03, 15_rand_04, 15_rand_05, 15_rand_06, 15_rand_07, 15_rand_08, 15_rand_09, 20_teuti_00, 20_teuti_01
Case Name Status Exec Time Memory
00_sample_00 AC 26 ms 808 KiB
00_sample_01 AC 25 ms 800 KiB
00_sample_02 AC 25 ms 804 KiB
05_rand_00 AC 25 ms 808 KiB
05_rand_01 AC 24 ms 808 KiB
05_rand_02 AC 25 ms 928 KiB
05_rand_03 AC 23 ms 928 KiB
05_rand_04 AC 25 ms 800 KiB
05_rand_05 AC 25 ms 932 KiB
05_rand_06 AC 25 ms 800 KiB
05_rand_07 AC 25 ms 928 KiB
05_rand_08 AC 24 ms 808 KiB
05_rand_09 AC 25 ms 796 KiB
15_rand_00 AC 30 ms 800 KiB
15_rand_01 AC 26 ms 804 KiB
15_rand_02 AC 24 ms 800 KiB
15_rand_03 AC 25 ms 796 KiB
15_rand_04 AC 28 ms 804 KiB
15_rand_05 AC 26 ms 804 KiB
15_rand_06 AC 28 ms 736 KiB
15_rand_07 AC 26 ms 928 KiB
15_rand_08 AC 26 ms 804 KiB
15_rand_09 AC 26 ms 800 KiB
20_teuti_00 AC 26 ms 928 KiB
20_teuti_01 AC 24 ms 800 KiB