Submission #7067778


Source Code Expand

#include "manacher.hpp"

int main()
{
	int M, N;
	scanf("%d%d", &M, &N);
	std::vector<int> row(2 * M - 1), column(2 * N - 1);
	for (int i{1}; i < 2 * M - 1; i += 2)
		row[i] = -1;
	for (int i{1}; i < 2 * N - 1; i += 2)
		column[i] = -1;
	for (int i{}; i < 2 * M - 1; i += 2)
		for (int j{}; j < 2 * N - 1; j += 2)
		{
			char tmp;
			scanf(" %c", &tmp);
			if (tmp == '1')
			{
				row[i]++;
				column[j]++;
			}
		}
	std::vector<int> rowRot(manacher(row)), columnRot(manacher(column));
	int64_t row_count{}, column_count{};
	for (int border{1}; border < (int)rowRot.size(); border += 2)
	{
		int top{(border + -1) / 2}, bottom{(border + (int)rowRot.size()) / 2};
		if (top - rowRot[top] == -1 && bottom + rowRot[bottom] == (int)rowRot.size())
			row_count++;
	}
	for (int border{1}; border < (int)columnRot.size(); border += 2)
	{
		int left{(border + -1) / 2}, right{(border + (int)columnRot.size()) / 2};
		if (left - columnRot[left] == -1 && right + columnRot[right] == (int)columnRot.size())
			column_count++;
	}
	printf("%lld\n", row_count * column_count);

	return 0;
}

Submission Info

Submission Time
Task E - Artist
User TanakaTaroh
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1117 Byte
Status CE

Compile Error

./Main.cpp:1:24: fatal error: manacher.hpp: No such file or directory
 #include "manacher.hpp"
                        ^
compilation terminated.