Submission #3598076


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
int main(){
  string s_d,h; cin>>s_d>>h;
  int size_s, size_h;
  size_s = s_d.size(); size_h = h.size();
  vector<int> int_s_d, int_h;
  /*
  for(string::iterator it=s_d.begin(); it!=s_d.end(); ++it){
    if( *it == '?') cout<<'z';
    else cout<< *it;
  }
  cout<<endl;
  */
  for(int i=0; i<size_s; ++i){
    if( s_d[i] == '?'){
      int_s_d.push_back(0);
    }
    else int_s_d.push_back( s_d[i] - 'a' + 1);
  }
  //for(vector<int>::iterator it=int_s_d.begin(); it!=int_s_d.end(); ++it) cout<<*it;
  //cout<<endl;
  for(int i=0; i<size_h; ++i){
    if( h[i] == '?'){
      int_h.push_back(0);
    }
    else int_h.push_back( h[i] - 'a' + 1);
  }
  vector<vector<int> > ans;
  ans = vector<vector<int> >(50, vector<int>(50,0));
  int ans_n=0;
  for(int i=0; i<= size_s - size_h; ++i){
    bool restorable = true;
    for(int j=0; j<size_h; ++j){
      if( s_d[i+j] != '?' && s_d[i+j] != h[j]){
        restorable = false; break;
      }
    }
    if(restorable){
      for(int j=0; j<size_s; ++j){
        ans[ans_n][j] = int_s_d[j];
      }
      //for(vector<int>::iterator it=ans[ans_n].begin(); it!=ans[ans_n].end(); ++it) cout<<*it;
      //cout<<endl;
      for(int j=0; j<size_h; ++j){
        ans[ans_n][i+j] = int_h[j];
      }
      //for(vector<int>::iterator it=ans[ans_n].begin(); it!=ans[ans_n].end(); ++it) cout<<*it;
      //cout<<endl;
      ++ans_n;
    }
  }
  if( ans_n){
    vector<vector<int> > v;
    v = vector<vector<int> >(ans_n, vector<int>(size_s));
    for(int i=0; i<ans_n; ++i){
      for(int j=0; j<size_s; ++j){
        v[i][j]=ans[i][j];
      }
    }
    //for(vector<int>::iterator it=v[0].begin(); it!=v[0].end(); ++it) cout<<*it;
    //cout<<endl;
    //sort( v.begin(), v.end());
    for(int i=0; i<size_s; ++i){
      if( v[0][i] == 0) cout<<"a";
      else cout<<(char)(v[0][i]-1+'a');
    }
    cout<<endl;
  }
  else{
    cout<< "UNRESTORABLE"<<endl;
  }
  return 0;
}

Submission Info

Submission Time
Task C - Dubious Document 2
User u0suke
Language C++14 (GCC 5.4.1)
Score 0
Code Size 2032 Byte
Status WA
Exec Time 1 ms
Memory 256 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 300
Status
AC × 2
AC × 11
WA × 3
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 WA 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 WA 1 ms 256 KB
in06.txt AC 1 ms 256 KB
in07.txt AC 1 ms 256 KB
in08.txt WA 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