Submission #2227064


Source Code Expand

//#include <bits/stdc++.h>
#include<iostream>
#include<cmath>
#include<string>
#include<queue>
#include<vector>
#define FOR(i,a,b) for(int i=(a);i<(b);i++)//初期値a,i<bの範囲でループ
#define REP(i,n) FOR(i,0,n)//初期値0,i<nの範囲でループ
using namespace std;
typedef long long ll;//int64
typedef unsigned long long ull;

string s,t;

int flag=0;
int main(){

    cin>>s>>t;
    int i;
    
    if(s.size()<t.size()){
        cout<<"UNRESTORABLE"<<endl;
        return 0;
    }

    for(i=0;i<=s.size()-t.size();i++){
        string sb;
        //したからけんさく
        sb=s.substr(s.size()-i-t.size(),t.size());
        flag=0;
        for(int j=0;j<sb.size();j++){
            if(sb[j]=='?')continue;
            else if(sb[j]==t[j])continue;
            else flag=1;
        }
        if(!flag)break;
    }
    if(flag){
        cout<<"UNRESTORABLE"<<endl;
        return 0;
    }

    s.replace(s.size()-i-t.size(),t.size(),t);
    REP(k,s.size())if(s[k]=='?')s[k]='a';

    cout<<s<<endl;
    return 0;
}

Submission Info

Submission Time
Task C - Dubious Document 2
User tamaroning
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1085 Byte
Status AC
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 14
Set Name Test Cases
Sample s1.txt, s2.txt
All in01.txt, in02.txt, in03.txt, in04.txt, in05.txt, in06.txt, in07.txt, in08.txt, in09.txt, in10.txt, in11.txt, in12.txt, s1.txt, s2.txt
Case Name Status Exec Time Memory
in01.txt AC 1 ms 256 KB
in02.txt AC 1 ms 256 KB
in03.txt AC 1 ms 256 KB
in04.txt AC 1 ms 256 KB
in05.txt AC 1 ms 256 KB
in06.txt AC 1 ms 256 KB
in07.txt AC 1 ms 256 KB
in08.txt AC 1 ms 256 KB
in09.txt AC 1 ms 256 KB
in10.txt AC 1 ms 256 KB
in11.txt AC 1 ms 256 KB
in12.txt AC 1 ms 256 KB
s1.txt AC 1 ms 256 KB
s2.txt AC 1 ms 256 KB