QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#933060#9901. 匹配zsofustb100 ✓14ms17192kbC++231.7kb2025-03-13 11:16:502025-03-13 11:16:51

Judging History

This is the latest submission verdict.

  • [2025-03-13 11:16:51]
  • Judged
  • Verdict: 100
  • Time: 14ms
  • Memory: 17192kb
  • [2025-03-13 11:16:50]
  • Submitted

answer

#include <map>
#include <set>
#include <cmath>
#include <queue>
#include <stack>
#include <bitset>
#include <cstdio>
#include <vector>
#include <iostream>
#include <algorithm>
#include <functional>
#include <unordered_set>
#include <unordered_set>

using u32 = unsigned;
using i64 = long long;
using u64 = unsigned long long;
using i128 = __int128;

std::vector<int> Z(std::string s) {
    int n = s.size();
    std::vector<int> z(n + 1);
    z[0] = n;
    for (int i = 1, j = 1; i < n; i++) {
        z[i] = std::max(0, std::min(j + z[j] - i, z[i - j]));
        while (i + z[i] < n && s[z[i]] == s[i + z[i]]) {
            z[i]++;
        }
        if (i + z[i] > j + z[j]) {
            j = i;
        }
    }
    return z;
}

void solve() {
	std::string a, b;
	std::cin >> a >> b;

	// auto z = Z(a);
	// for (int i: z) {
	// 	std::cout << i << " ";
	// }

	int n = a.size();
	int idx = -1;
	for (int i = 0; i < n; i++) {
		if (b[i] == '1') {
			idx = i;
			break;
		}
	}

	if (idx == -1) {
		std::cout << "tpchkrltdsjklsdvnskdvjsdfosdf\n";
		return;
	}

	auto c = a.substr(idx);
	auto z = Z(c);
	int m = c.size();
	int len = m;
	for (int i = 0; i < m; i++) {
		if (b[i + idx] == '1') {
			len = std::min(len, z[i]);
		}
	}
	auto res = c.substr(0, len);
	res += a;
	z = Z(res);
	for (int i = len; i < len + n; i++) {
		if (b[i - len] == '0' && z[i] >= len) {
			std::cout << "-1\n";
			return;
		}
	}
	std::cout << res.substr(0, len) << "\n";
}

int main() {
	std::ios::sync_with_stdio(false);
	std::cin.tie(nullptr), std::cout.tie(nullptr);

	int T = 1;
	// std::cin >> T;
	while (T--) {
		solve();
	}

	return 0;
}

这程序好像有点Bug,我给组数据试试?

Details

Tip: Click on the bar to expand more detailed information

Pretests


Final Tests

Test #1:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

baaaaaaaaa
0111111110

output:

aa

result:

ok Correct output: valid string T.

Test #2:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

abbabbabab
0100100000

output:

bbab

result:

ok Correct output: valid string T.

Test #3:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

abbabaabba
0000000000

output:

tpchkrltdsjklsdvnskdvjsdfosdf

result:

ok Correct output: valid string T.

Test #4:

score: 10
Accepted
time: 0ms
memory: 3584kb

input:

trtrttrtrttrttrtrttrtrttrttrtrttrttrtrttrtrttrttrtrtnrtrttrtkrtrttrttrtrttrtrttrttrtrttrttetrttrtrtt
0000000000001000000000000000000001000000000000000000000000000000000100000000000000000000000000000000

output:

ttrtrttrtrttrttrtrt

result:

ok Correct output: valid string T.

Test #5:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

bcljjabnbcljjabnbcljjagnbcljjabnbcljjabnbcljjabnbcljjahnbcljjabnbcljjabnbcljjabnbcljjabnbcljjabnbclj
0000000000000000000000010000000100000000000000000000000100000001000000000000000100000000000000000000

output:

-1

result:

ok Correct output: -1

Test #6:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

muumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummvumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummu...

output:

mmuumummumuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuumummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummuummumuummuumummumuumummuummumuummuumummuummumuumummumuummuumummumuumummuummumuumummumuummuumummuummumuum

result:

ok Correct output: valid string T.

Test #7:

score: 10
Accepted
time: 0ms
memory: 3712kb

input:

mppmppmpmppmppmpmppmpmppmppmpmdpmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppm...

output:

mppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmpmppmppmpmppmpmppmppmp

result:

ok Correct output: valid string T.

Test #8:

score: 10
Accepted
time: 14ms
memory: 17072kb

input:

falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...

output:

falgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgshffalgsh...

result:

ok Correct output: valid string T.

Test #9:

score: 10
Accepted
time: 12ms
memory: 17192kb

input:

cnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaozn...

output:

znacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacnaoznacna...

result:

ok Correct output: valid string T.

Test #10:

score: 10
Accepted
time: 13ms
memory: 16976kb

input:

bvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvov...

output:

bvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbvbvovbv...

result:

ok Correct output: valid string T.

Extra Test:

score: 0
Extra Test Passed