Submission #89278

# Submission time Handle Problem Language Result Execution time Memory
89278 2018-12-11T09:27:14 Z turbat Beautiful row (IZhO12_beauty) C++14
0 / 100
18 ms 2100 KB
#include <bits/stdc++.h>
using namespace std; 

int n, m, a[25], dp[1000005][25], ans, cnt[25], cnt1[25];

int main (){	
	cin >> n;
	for (int i = 0;i < n;i++) {
		cin >> a[i];
		cnt[i] = __builtin_popcount(a[i]);
		m = a[i];
		while (m){
			if (m % 3 == 1) cnt1[i]++;
			m /= 3;
		}
	}
	for (int i = 0;i < n;i++) dp[1 << i][i] = 1;
	for (int i = 0;i < (1 << n);i++)
		for (int j = 0;j < n;j++)
			for (int o = 0;o < n;o++)
				if (!(i & 1<<o) && (cnt[j] == cnt[o] || cnt1[j] == cnt1[o]))
					dp[i|(1<<o)][o] += dp[i][j];
	for (int i = 0;i < n;i++) ans += dp[(1<<n) - 1][i];
	cout << ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 380 KB Output is correct
3 Correct 2 ms 584 KB Output is correct
4 Correct 2 ms 584 KB Output is correct
5 Correct 2 ms 584 KB Output is correct
6 Correct 3 ms 788 KB Output is correct
7 Correct 3 ms 788 KB Output is correct
8 Correct 2 ms 788 KB Output is correct
9 Correct 3 ms 788 KB Output is correct
10 Correct 2 ms 788 KB Output is correct
11 Incorrect 18 ms 2100 KB Output isn't correct
12 Halted 0 ms 0 KB -