Submission #2716954


Source Code Expand

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, c[666][8], u[4], z;
ll F(ll a, ll b, ll c, ll d) {
	return a << 30 | b << 20 | c << 10 | d;
}
map<ll, ll> g;
void A(ll x, ll v) {
	for (int i = 0; i < 4; i++) {
		g[x] += v;
		x = (x >> 10) | (x & 1023) << 30;
	}
}
int main() {
	cin >> n;
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < 4; j++) {
			cin >> c[i][j];
			c[i][j + 4] = c[i][j];
		}
		A(F(c[i][0], c[i][1], c[i][2], c[i][3]), 1);
	}
	for (int i = 0; i < n; i++) {
		A(F(c[i][0], c[i][1], c[i][2], c[i][3]), -1);
		for (int j = i + 1; j < n; j++) {
			A(F(c[j][0], c[j][1], c[j][2], c[j][3]), -1);
			for (int k = 0; k < 4; k++) {
				ll r = 1;
				u[0] = F(c[j][k + 1], c[j][k + 0], c[i][1], c[i][0]);
				u[1] = F(c[j][k + 0], c[j][k + 3], c[i][2], c[i][1]);
				u[2] = F(c[j][k + 3], c[j][k + 2], c[i][3], c[i][2]);
				u[3] = F(c[j][k + 2], c[j][k + 1], c[i][4], c[i][3]);
				if (g[u[0]] && g[u[1]] && g[u[2]] && g[u[3]]) {
					r *= g[u[0]];
					A(u[0], -1);
					r *= g[u[1]];
					A(u[1], -1);
					r *= g[u[2]];
					A(u[2], -1);
					r *= g[u[3]];
					A(u[2], 1);
					A(u[1], 1);
					A(u[0], 1);
					z += r;
				}
			}
			A(F(c[j][0], c[j][1], c[j][2], c[j][3]), 1);
		}
	}
	cout << z << endl;
	return 0;
}

Submission Info

Submission Time
Task E - Building Cubes with AtCoDeer
User Factorio
Language C++14 (GCC 5.4.1)
Score 900
Code Size 1314 Byte
Status AC
Exec Time 204 ms
Memory 20352 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 900 / 900
Status
AC × 3
AC × 20
Set Name Test Cases
Sample 0_000.txt, 0_001.txt, 0_002.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 1_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
0_002.txt AC 1 ms 256 KB
1_003.txt AC 52 ms 256 KB
1_004.txt AC 5 ms 256 KB
1_005.txt AC 84 ms 256 KB
1_006.txt AC 59 ms 256 KB
1_007.txt AC 152 ms 256 KB
1_008.txt AC 142 ms 256 KB
1_009.txt AC 201 ms 256 KB
1_010.txt AC 13 ms 256 KB
1_011.txt AC 88 ms 896 KB
1_012.txt AC 2 ms 256 KB
1_013.txt AC 187 ms 19200 KB
1_014.txt AC 2 ms 512 KB
1_015.txt AC 174 ms 20352 KB
1_016.txt AC 40 ms 5760 KB
1_017.txt AC 178 ms 20352 KB
1_018.txt AC 179 ms 20352 KB
1_019.txt AC 204 ms 20224 KB