Submission #2866308


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <climits>
#include <algorithm>
#include <set>
#include <unordered_map>
#include <queue>
#include <iomanip>
#include <map>

#define rep(i,n) for(int i=0; i<(int)(n); i++)
#define P pair<int, int>
#define ll long long

using namespace std;
int mod = 1000000007;

string s;
string t;

int main() {
  cin >> s >> t;

  int pos = -1;
  for (int i=0; i<s.size()-t.size()+1; i++) {
    bool matched = true;
    for (int j=0; j<t.size(); j++) {
      if (s.at(i+j) != '?' && s.at(i+j) != t.at(j)) {
        matched = false;
        break;
      }
    }
    if (matched) {
      pos = i;
    }
  }

  if (pos == -1) {
    cout << "UNRESTORABLE" << endl;
    return 0;
  }

  string ans;
  for (int i=0; i<s.size(); i++) {
    if (s.at(i) != '?') {
      ans.push_back(s.at(i));
    } else if (i < pos || i >= pos + t.size()) {
      ans.push_back('a');
    } else {
      ans.push_back(t.at(i-pos));
    }
  }
  cout << ans << endl;
}

Submission Info

Submission Time
Task C - Dubious Document 2
User aajisaka
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1044 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