Submission #2866819


Source Code Expand

#include<cstdio>
#include<cstring>
#include<cmath>
#include<bitset>
#include<iostream>
#include<algorithm>
#include<string>
#include<utility>
#include<tuple>
#include<vector>
#include<list>
#include<map>
#include<queue>
#include<stack>
#include<numeric>

#define IOS ios::sync_with_stdio(false),cin.tie(0)
#define REP(i,n) for(int i = 0;i < n;i++)
#define MEM(a,b) memset(a,b,sizeof(a))

using namespace std;

typedef long long ll;
typedef pair<int, int> P;
typedef tuple<int, int, int> T;

int main() {
	IOS;
	string s, t;
	bool exist;
	cin >> s >> t;
	if (s.size() < t.size()) {
		cout << "UNRESTORABLE" << endl;
		return 0;
	}
	reverse(s.begin(), s.end());
	reverse(t.begin(), t.end());
	int T = s.size() - t.size() + 1;
	bool tmp;
	REP(i, T) {
		tmp = true;
		REP(j, t.size())if (!(s[j + i] == t[j] || s[j + i] == '?'))tmp = false;
		if (tmp) {
			s.replace(i,t.size(),t);
			break;
		}
		if (i == T - 1 && !tmp) {
			cout << "UNRESTORABLE" << endl;
			return 0;
		}
	}
	reverse(s.begin(), s.end());
	REP(i, s.size()) {
		if (s[i] == '?')s[i] = 'a';
	}
	cout << s << endl;
}

Submission Info

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