# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
82161 | 2018-10-29T10:29:27 Z | Just_Solve_The_Problem | Beautiful row (IZhO12_beauty) | C++11 | 1050 ms | 672 KB |
#include <stdio.h> #include <algorithm> using namespace std; #define ll long long int a[22]; int n; int get(int x) { int res = 0; while (x) { res += (x % 3 == 1); x /= 3; } return res; } main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); } sort(a + 1, a + n + 1); int ans = 0; do { int ok = 1; for (int i = 1; i < n; i++) { ok &= ((__builtin_popcount(a[i])) == (__builtin_popcount(a[i + 1])) || get(a[i]) == get(a[i + 1])); } ans += ok; } while(next_permutation(a + 1, a + n + 1)); printf("%d", ans); }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 256 KB | Output is correct |
2 | Correct | 2 ms | 372 KB | Output is correct |
3 | Correct | 2 ms | 448 KB | Output is correct |
4 | Correct | 2 ms | 448 KB | Output is correct |
5 | Correct | 2 ms | 448 KB | Output is correct |
6 | Correct | 997 ms | 512 KB | Output is correct |
7 | Correct | 1050 ms | 512 KB | Output is correct |
8 | Correct | 219 ms | 512 KB | Output is correct |
9 | Incorrect | 471 ms | 672 KB | Output isn't correct |
10 | Halted | 0 ms | 0 KB | - |