Submission #1985103


Source Code Expand

#include<stdio.h>
#include<algorithm>
#include<string>
#include<string.h>
using namespace std;
string dp[100][100];
char in[100];
bool gt(string a,string b){
    if(a[0]=='i')return false;
    if(b[0]=='i')return true;
    if(a.size()!=b.size())return a.size()>b.size();
    for(int i=0;i<a.size();i++)if(a[i]!=b[i])return a[i]>b[i];
    return false;
}
string calc(int a,int b){
    if(dp[a][b].size())return dp[a][b];
    string ret="invalid";
    bool on=true;
    string cur="";
    for(int i=a;i<b;i++){
        if(in[i]=='?')cur+='9';
        else if('0'<=in[i]&&in[i]<='9')cur+=in[i];
        else on=false;
    }
    if(cur.size()>1&&cur[0]=='0')on=false;
    if(on)ret=cur;
    bool L=true;
    bool R=true;
    if(b-a<6||(in[a+1]!='?'&&in[a+1]!='(')||(in[b-1]!='?'&&in[b-1]!=')'))L=R=false;
    if(in[a]!='L'&&in[a]!='?')L=false;
    if(in[a]!='R'&&in[a]!='?')R=false;
    for(int i=a+3;i<b-2;i++){
        if(in[i]!='?'&&in[i]!=',')continue;
        if(L){
            string left=calc(a+2,i);
            string right=calc(i+1,b-1);
            if(left[0]!='i'&&right[0]!='i'){
                if(gt(left,ret))ret=left;
            }
        }
        if(R){
            string left=calc(a+2,i);
            string right=calc(i+1,b-1);
            if(left[0]!='i'&&right[0]!='i'){
                if(gt(right,ret))ret=right;
            }
        }
    }
    //printf("%d %d: %s\n",a,b,ret.c_str());
    return dp[a][b]=ret;
}
int main(){
    scanf("%s",in);
    for(int i=0;i<100;i++)for(int j=0;j<100;j++)dp[i][j]="";
    int n=strlen(in);
    printf("%s\n",calc(0,n).c_str());
}

Submission Info

Submission Time
Task D - LR
User tozangezan
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1649 Byte
Status AC
Exec Time 10 ms
Memory 384 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:53:19: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
     scanf("%s",in);
                   ^

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 158
Set Name Test Cases
All 00_sample_00, 00_sample_01, 00_sample_02, 00_sample_03, 00_sample_04, 00_sample_05, 00_sample_06, 01_zero_00, 01_zero_01, 01_zero_02, 01_zero_03, 10_detarame_00, 10_detarame_01, 10_detarame_02, 10_detarame_03, 10_detarame_04, 10_detarame_05, 10_detarame_06, 10_detarame_07, 10_detarame_08, 10_detarame_09, 20_neniri_00, 20_neniri_01, 20_neniri_02, 20_neniri_03, 20_neniri_04, 20_neniri_05, 20_neniri_06, 20_neniri_07, 20_neniri_08, 20_neniri_09, 20_neniri_10, 20_neniri_11, 20_neniri_12, 20_neniri_13, 20_neniri_14, 20_neniri_15, 20_neniri_16, 20_neniri_17, 20_neniri_18, 20_neniri_19, 20_neniri_20, 20_neniri_21, 20_neniri_22, 20_neniri_23, 20_neniri_24, 20_neniri_25, 20_neniri_26, 20_neniri_27, 20_neniri_28, 20_neniri_29, 20_neniri_30, 20_neniri_31, 20_neniri_32, 20_neniri_33, 20_neniri_34, 20_neniri_35, 20_neniri_36, 20_neniri_37, 20_neniri_38, 20_neniri_39, 20_neniri_40, 20_neniri_41, 20_neniri_42, 20_neniri_43, 20_neniri_44, 20_neniri_45, 20_neniri_46, 20_neniri_47, 20_neniri_48, 20_neniri_49, 20_neniri_50, 20_neniri_51, 20_neniri_52, 20_neniri_53, 20_neniri_54, 20_neniri_55, 20_neniri_56, 20_neniri_57, 20_neniri_58, 20_neniri_59, 20_neniri_60, 20_neniri_61, 20_neniri_62, 20_neniri_63, 20_neniri_64, 20_neniri_65, 20_neniri_66, 20_neniri_67, 20_neniri_68, 20_neniri_69, 20_neniri_70, 20_neniri_71, 20_neniri_72, 20_neniri_73, 20_neniri_74, 20_neniri_75, 20_neniri_76, 20_neniri_77, 20_neniri_78, 20_neniri_79, 30_hikaku_00, 30_hikaku_01, 30_hikaku_02, 30_hikaku_03, 30_hikaku_04, 30_hikaku_05, 30_hikaku_06, 30_hikaku_07, 30_hikaku_08, 30_hikaku_09, 31_hikaku_hatena_00, 31_hikaku_hatena_01, 31_hikaku_hatena_02, 31_hikaku_hatena_03, 31_hikaku_hatena_04, 31_hikaku_hatena_05, 31_hikaku_hatena_06, 31_hikaku_hatena_07, 31_hikaku_hatena_08, 31_hikaku_hatena_09, 40_ookii_00, 40_ookii_01, 40_ookii_02, 40_ookii_03, 40_ookii_04, 40_ookii_05, 40_ookii_06, 50_osii_00, 50_osii_01, 50_osii_02, 50_osii_03, 50_osii_04, 50_osii_05, 50_osii_06, 50_osii_07, 50_osii_08, 50_osii_09, 50_osii_10, 50_osii_11, 50_osii_12, 50_osii_13, 50_osii_14, 50_osii_15, 50_osii_16, 50_osii_17, 50_osii_18, 50_osii_19, 90_challenge_00, 90_challenge_01, 90_challenge_02, 90_challenge_03, 90_challenge_04, 90_challenge_05, 90_challenge_06, 90_challenge_07, 90_challenge_08, 90_challenge_09
Case Name Status Exec Time Memory
00_sample_00 AC 1 ms 256 KB
00_sample_01 AC 10 ms 256 KB
00_sample_02 AC 1 ms 256 KB
00_sample_03 AC 1 ms 256 KB
00_sample_04 AC 1 ms 256 KB
00_sample_05 AC 7 ms 384 KB
00_sample_06 AC 7 ms 384 KB
01_zero_00 AC 1 ms 256 KB
01_zero_01 AC 1 ms 256 KB
01_zero_02 AC 1 ms 256 KB
01_zero_03 AC 1 ms 256 KB
10_detarame_00 AC 1 ms 256 KB
10_detarame_01 AC 1 ms 256 KB
10_detarame_02 AC 1 ms 256 KB
10_detarame_03 AC 1 ms 256 KB
10_detarame_04 AC 1 ms 256 KB
10_detarame_05 AC 1 ms 256 KB
10_detarame_06 AC 1 ms 256 KB
10_detarame_07 AC 1 ms 256 KB
10_detarame_08 AC 1 ms 256 KB
10_detarame_09 AC 1 ms 256 KB
20_neniri_00 AC 1 ms 256 KB
20_neniri_01 AC 1 ms 256 KB
20_neniri_02 AC 1 ms 256 KB
20_neniri_03 AC 1 ms 256 KB
20_neniri_04 AC 1 ms 256 KB
20_neniri_05 AC 1 ms 256 KB
20_neniri_06 AC 1 ms 256 KB
20_neniri_07 AC 1 ms 256 KB
20_neniri_08 AC 1 ms 256 KB
20_neniri_09 AC 1 ms 256 KB
20_neniri_10 AC 1 ms 256 KB
20_neniri_11 AC 1 ms 256 KB
20_neniri_12 AC 1 ms 256 KB
20_neniri_13 AC 1 ms 256 KB
20_neniri_14 AC 1 ms 256 KB
20_neniri_15 AC 1 ms 256 KB
20_neniri_16 AC 1 ms 256 KB
20_neniri_17 AC 1 ms 256 KB
20_neniri_18 AC 1 ms 256 KB
20_neniri_19 AC 1 ms 256 KB
20_neniri_20 AC 1 ms 256 KB
20_neniri_21 AC 1 ms 256 KB
20_neniri_22 AC 1 ms 256 KB
20_neniri_23 AC 1 ms 256 KB
20_neniri_24 AC 1 ms 256 KB
20_neniri_25 AC 1 ms 256 KB
20_neniri_26 AC 1 ms 256 KB
20_neniri_27 AC 1 ms 256 KB
20_neniri_28 AC 1 ms 256 KB
20_neniri_29 AC 1 ms 256 KB
20_neniri_30 AC 1 ms 256 KB
20_neniri_31 AC 1 ms 256 KB
20_neniri_32 AC 1 ms 256 KB
20_neniri_33 AC 1 ms 256 KB
20_neniri_34 AC 1 ms 256 KB
20_neniri_35 AC 1 ms 256 KB
20_neniri_36 AC 1 ms 256 KB
20_neniri_37 AC 1 ms 256 KB
20_neniri_38 AC 1 ms 256 KB
20_neniri_39 AC 1 ms 256 KB
20_neniri_40 AC 1 ms 256 KB
20_neniri_41 AC 1 ms 256 KB
20_neniri_42 AC 1 ms 256 KB
20_neniri_43 AC 1 ms 256 KB
20_neniri_44 AC 1 ms 256 KB
20_neniri_45 AC 1 ms 256 KB
20_neniri_46 AC 1 ms 256 KB
20_neniri_47 AC 1 ms 256 KB
20_neniri_48 AC 1 ms 256 KB
20_neniri_49 AC 1 ms 256 KB
20_neniri_50 AC 1 ms 256 KB
20_neniri_51 AC 1 ms 256 KB
20_neniri_52 AC 1 ms 256 KB
20_neniri_53 AC 1 ms 256 KB
20_neniri_54 AC 1 ms 256 KB
20_neniri_55 AC 1 ms 256 KB
20_neniri_56 AC 1 ms 256 KB
20_neniri_57 AC 1 ms 256 KB
20_neniri_58 AC 1 ms 256 KB
20_neniri_59 AC 1 ms 256 KB
20_neniri_60 AC 1 ms 256 KB
20_neniri_61 AC 1 ms 256 KB
20_neniri_62 AC 1 ms 256 KB
20_neniri_63 AC 1 ms 256 KB
20_neniri_64 AC 1 ms 256 KB
20_neniri_65 AC 1 ms 256 KB
20_neniri_66 AC 1 ms 256 KB
20_neniri_67 AC 1 ms 256 KB
20_neniri_68 AC 1 ms 256 KB
20_neniri_69 AC 1 ms 256 KB
20_neniri_70 AC 1 ms 256 KB
20_neniri_71 AC 1 ms 256 KB
20_neniri_72 AC 1 ms 256 KB
20_neniri_73 AC 1 ms 256 KB
20_neniri_74 AC 1 ms 256 KB
20_neniri_75 AC 1 ms 256 KB
20_neniri_76 AC 1 ms 256 KB
20_neniri_77 AC 1 ms 256 KB
20_neniri_78 AC 1 ms 256 KB
20_neniri_79 AC 1 ms 256 KB
30_hikaku_00 AC 2 ms 384 KB
30_hikaku_01 AC 2 ms 384 KB
30_hikaku_02 AC 2 ms 384 KB
30_hikaku_03 AC 2 ms 384 KB
30_hikaku_04 AC 2 ms 384 KB
30_hikaku_05 AC 2 ms 384 KB
30_hikaku_06 AC 2 ms 384 KB
30_hikaku_07 AC 2 ms 384 KB
30_hikaku_08 AC 2 ms 384 KB
30_hikaku_09 AC 2 ms 384 KB
31_hikaku_hatena_00 AC 5 ms 384 KB
31_hikaku_hatena_01 AC 6 ms 384 KB
31_hikaku_hatena_02 AC 6 ms 384 KB
31_hikaku_hatena_03 AC 5 ms 384 KB
31_hikaku_hatena_04 AC 6 ms 384 KB
31_hikaku_hatena_05 AC 5 ms 384 KB
31_hikaku_hatena_06 AC 6 ms 384 KB
31_hikaku_hatena_07 AC 7 ms 384 KB
31_hikaku_hatena_08 AC 5 ms 384 KB
31_hikaku_hatena_09 AC 6 ms 384 KB
40_ookii_00 AC 7 ms 384 KB
40_ookii_01 AC 1 ms 256 KB
40_ookii_02 AC 1 ms 256 KB
40_ookii_03 AC 5 ms 384 KB
40_ookii_04 AC 5 ms 384 KB
40_ookii_05 AC 1 ms 256 KB
40_ookii_06 AC 1 ms 256 KB
50_osii_00 AC 2 ms 384 KB
50_osii_01 AC 2 ms 384 KB
50_osii_02 AC 2 ms 384 KB
50_osii_03 AC 2 ms 384 KB
50_osii_04 AC 2 ms 384 KB
50_osii_05 AC 2 ms 384 KB
50_osii_06 AC 2 ms 384 KB
50_osii_07 AC 2 ms 384 KB
50_osii_08 AC 2 ms 384 KB
50_osii_09 AC 2 ms 384 KB
50_osii_10 AC 2 ms 384 KB
50_osii_11 AC 2 ms 384 KB
50_osii_12 AC 2 ms 384 KB
50_osii_13 AC 2 ms 384 KB
50_osii_14 AC 2 ms 384 KB
50_osii_15 AC 2 ms 384 KB
50_osii_16 AC 2 ms 384 KB
50_osii_17 AC 2 ms 384 KB
50_osii_18 AC 2 ms 384 KB
50_osii_19 AC 2 ms 384 KB
90_challenge_00 AC 2 ms 384 KB
90_challenge_01 AC 2 ms 384 KB
90_challenge_02 AC 2 ms 384 KB
90_challenge_03 AC 2 ms 384 KB
90_challenge_04 AC 2 ms 384 KB
90_challenge_05 AC 2 ms 384 KB
90_challenge_06 AC 2 ms 384 KB
90_challenge_07 AC 2 ms 384 KB
90_challenge_08 AC 2 ms 384 KB
90_challenge_09 AC 2 ms 384 KB