제출 #1355757

#제출 시각아이디문제언어결과실행 시간메모리
1355757CutSandstoneNecklace (Subtask 4) (BOI19_necklace4)Java
컴파일 에러
0 ms0 KiB
#include <bits/stdc++.h>
using namespace std;
#define a first
#define b second
const int mod = 1e9 + 7;
const int inv2 = (mod + 1) / 2;
using ll = long long;
vector<int> pi(const string& s) {
	int n = (int)s.size();
	vector<int> pi_s(n);
	for (int i = 1, j = 0; i < n; i++) {
		while (j > 0 && s[j] != s[i]) {
			j = pi_s[j - 1];
		}
		if (s[i] == s[j]) {
			j++;
		}
		pi_s[i] = j;
	}
	return pi_s;
}
vector<int> calc(string s, string t) {
	vector<int> ret(s.size());
	string cur = t + "#" + s;
	vector<int> p = pi(cur);
	for (int i = 0; i < s.size(); i++) ret[i] = p[i + t.size() + 1];
	return ret;
}
pair<int, pair<int, int>> solve(string s, string t) {
	t += ".";
	pair<int, pair<int, int>> ans = {0, {0, 0}};
	for (int i = 0; i < t.size() - 1; i++) {
		vector<int> left = calc(s, t);
		reverse(s.begin(), s.end());
		reverse(t.begin(), t.end());
		vector<int> right = calc(s, t);
		reverse(s.begin(), s.end());
		reverse(t.begin(), t.end());
		reverse(right.begin(), right.end());
		for (int j = 0; j <= s.size(); j++) {
			int l = j == 0 ? 0 : left[j - 1];
			int r = j == s.size() ? 0 : right[j];
			ans = max(ans,
					  {l + r,
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
		}
		rotate(t.begin(), t.begin() + 1, t.end());
	}
	return ans;
}
int main() {
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	string s, t;
	cin >> s >> t;
	pair<int, pair<int, int>> ans = solve(s, t);
	reverse(t.begin(), t.end());
	pair<int, pair<int, int>> cur = solve(s, t);
	cur.b.b = t.size() - cur.b.b - cur.a;
	ans = max(ans, cur);
	cout << ans.a << "\n" << ans.b.a << " " << ans.b.b << "\n";
}

컴파일 시 표준 에러 (stderr) 메시지

necklace.java:1: error: illegal character: '#'
#include <bits/stdc++.h>
^
necklace.java:1: error: class, interface, enum, or record expected
#include <bits/stdc++.h>
         ^
necklace.java:3: error: illegal character: '#'
#define a first
^
necklace.java:4: error: illegal character: '#'
#define b second
^
necklace.java:6: error: class, interface, enum, or record expected
const int inv2 = (mod + 1) / 2;
^
necklace.java:7: error: unnamed classes are a preview feature and are disabled by default.
using ll = long long;
^
  (use --enable-preview to enable unnamed classes)
necklace.java:7: error: '.class' expected
using ll = long long;
                ^
necklace.java:10: error: not a statement
	vector<int> pi_s(n);
	                 ^
necklace.java:8: error: illegal start of type
vector<int> pi(const string& s) {
               ^
necklace.java:10: error: ';' expected
	vector<int> pi_s(n);
	                ^
necklace.java:10: error: ';' expected
	vector<int> pi_s(n);
	                  ^
necklace.java:23: error: ';' expected
	vector<int> ret(s.size());
	               ^
necklace.java:23: error: ';' expected
	vector<int> ret(s.size());
	                        ^
necklace.java:44: error: not a statement
					  {l + r,
					     ^
necklace.java:45: error: not a statement
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					      ^
necklace.java:45: error: not a statement
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                          ^
necklace.java:45: error: not a statement
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                                   ^
necklace.java:45: error: not a statement
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                                                    ^
necklace.java:44: error: illegal start of expression
					  {l + r,
					  ^
necklace.java:44: error: ';' expected
					  {l + r,
					        ^
necklace.java:45: error: ';' expected
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					         ^
necklace.java:45: error: ';' expected
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                             ^
necklace.java:45: error: ';' expected
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                                      ^
necklace.java:45: error: ';' expected
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                                                       ^
necklace.java:45: error: illegal start of expression
					   {j - l, (2 * (t.size() - 1) - r - i) % (t.size() - 1)}});
					                                                          ^
necklace.java:52: error: not a statement
	ios::sync_with_stdio(false);
	^
necklace.java:55: error: not a statement
	cin >> s >> t;
	         ^
necklace.java:61: error: not a statement
	cout << ans.a << "\n" << ans.b.a << " " << ans.b.b << "\n";
	                                                   ^
necklace.java:52: error: ';' expected
	ios::sync_with_stdio(false);
	                    ^
29 errors

=======