Submission #591311

# Submission time Handle Problem Language Result Execution time Memory
591311 2022-07-07T09:06:31 Z OmnitronX Cards (LMIO19_korteles) C++14
19 / 100
57 ms 796 KB
#include <iostream>
#include <algorithm>

using namespace std;
using num = long long;

num gora[26][26];
num dol[26][26];
num lewo[26][26];
num prawo[26][26];
bool tab[26][26][26][26];

int main()
{
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	num n;
	num r = 0;
	cin >> n;
	for (num i = 0; i < n; ++i)
	{
		string s1;
		string s2;
		cin >> s1 >> s2;
		num a = s1[0] - 65;
		num b = s1[1] - 65;
		num c = s2[0] - 65;
		num d = s2[1] - 65;
		++gora [a][b];
		++dol  [c][d];

		++prawo[b][d];
		++lewo [a][c];
		tab[a][b]
		   [c][d] = true;
		if (tab[c][d]
			   [a][b])
		{
			++r;
		}
		if (tab[b][a]
			   [d][c])
		{
			++r;
		}
		if (a == d)
		{
			for (num j = 0; j < 26; ++j)
			{
				if (tab[b][j]
					   [a][b])
				{
					++r;
				}
			}
			for (num j = 0; j < 26; ++j)
			{
				if (tab[c][a]
					   [j][c])
				{
					++r;
				}
			}
		}
		else if (b == c)
		{
			for (num j = 0; j < 26; ++j)
			{
				if (tab[b][d]
					   [d][j])
				{
					++r;
				}
			}
			for (num j = 0; j < 26; ++j)
			{
				if (tab[j][a]
					   [a][b])
				{
					++r;
				}
			}
		}
		if (a == d && b == c)
		{
			if (tab[b][a]
				   [a][b])
			{
				--r;
			}
		}
		if (a == d && b == c && a == b)
		{
			--r;
		}
	}
	num suma = 0;
	for (num i = 0; i < 26; ++i)
	{
		for (num j = 0; j < 26; ++j)
		{
			suma += gora[i][j] * dol[i][j];
			//if(gora[i][j] * dol[i][j] > 0)
			//cout << i << ' ' << j << ' ' << gora[i][j] << ' ' << dol[i][j] << '\n';
		}
	}
	for (num i = 0; i < 26; ++i)
	{
		for (num j = 0; j < 26; ++j)
		{
			suma += prawo[i][j] * lewo[i][j];
			//if(prawo[i][j] * lewo[i][j] > 0)
			//cout << i << ' ' << j << ' ' << prawo[i][j] << ' ' <<  lewo[i][j] << '\n';
		}
	}
	num suma2 = n;
	for (num i = n - 1; i > 0; --i)
	{
		suma2 += i;
	}
	cout << min(suma - r,suma2);
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Incorrect 1 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Incorrect 1 ms 340 KB Output isn't correct
5 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 57 ms 772 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 11 ms 724 KB Output is correct
3 Correct 54 ms 772 KB Output is correct
4 Correct 24 ms 792 KB Output is correct
5 Correct 22 ms 796 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 0 ms 340 KB Output is correct
3 Correct 1 ms 340 KB Output is correct
4 Correct 1 ms 340 KB Output is correct
5 Incorrect 1 ms 340 KB Output isn't correct
6 Halted 0 ms 0 KB -