Submission #1732051
Source Code Expand
#include <bits/stdc++.h>
#define REP(i,a,b) for(int i=(a);i<(b);i++)
#define RREP(i,a,b) for(int i=(a);i>=(b);i--)
typedef long long ll; typedef long double ld;
using namespace std;
const int INF=1e9, MOD=1e9+7, around[]={0,1,1,-1,-1,0,-1,1,0,0};
const ld PI=abs(acos(-1));
string s,w;
int main(){
cin >> s >> w;
bool f=true;
REP(i,0,s.size()) if(s[i]=='?'){f=false; break;}
if(f){cout << s << endl; return 0;}
string t;
REP(i,0,w.size()-1) t+='?';
set<string> st;
REP(i,0,s.size()){
bool f=true;
REP(j,0,w.size()) if(s[i+j]!='?' and s[i+j]!=w[j]) f=false;
if(f){
string a;
a+=s.substr(0,i);
a+=w;
a+=s.substr(i+w.size(),s.size());
REP(i,0,a.size()) if(a[i]=='?') a[i]='a';
st.insert(a);
}
}
if(st.size()){
for(auto s:st){cout << s << endl; break;}
}else{
cout << "UNRESTORABLE" << endl;
}
return 0;
}
Submission Info
Submission Time |
|
Task |
C - Dubious Document 2 |
User |
ecasdqina |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
907 Byte |
Status |
AC |
Exec Time |
1 ms |
Memory |
256 KB |
Judge Result
Set Name |
Sample |
All |
Score / Max Score |
0 / 0 |
300 / 300 |
Status |
|
|
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 |