Submission #71020354
Source Code Expand
Copy
#include <stdio.h>#define MOD_BY 1000000007int add(int a, int b) {return a + b - MOD_BY * (a + b >= MOD_BY);}int N;int a[24][24];int memo[1 << 24];int calc(int pos, int used) {int ans = 0;int i;if (pos >= N) return 1;if (memo[used]) return ~memo[used];for (i = 0; i < N; i++) {if (a[pos][i] && !((used >> i) & 1)) {ans = add(ans, calc(pos + 1, used | (1 << i)));
#include <stdio.h>
#define MOD_BY 1000000007
int add(int a, int b) {
return a + b - MOD_BY * (a + b >= MOD_BY);
}
int N;
int a[24][24];
int memo[1 << 24];
int calc(int pos, int used) {
int ans = 0;
int i;
if (pos >= N) return 1;
if (memo[used]) return ~memo[used];
for (i = 0; i < N; i++) {
if (a[pos][i] && !((used >> i) & 1)) {
ans = add(ans, calc(pos + 1, used | (1 << i)));
}
}
return ~(memo[used] = ~ans);
}
int main(void) {
int i, j;
if (scanf("%d", &N) != 1) return 1;
for (i = 0; i < N; i++) {
for (j = 0; j < N; j++) {
if (scanf("%d", &a[i][j]) != 1) return 1;
}
}
printf("%d\n", calc(0, 0));
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | O - Matching |
| User | mikecat |
| Language | C (gcc 12.2.0) |
| Score | 100 |
| Code Size | 685 Byte |
| Status | AC |
| Exec Time | 203 ms |
| Memory | 9912 KiB |
Judge Result
| Set Name | All | ||
|---|---|---|---|
| Score / Max Score | 100 / 100 | ||
| Status |
|
| Set Name | Test Cases |
|---|---|
| All | 0_00, 0_01, 0_02, 0_03, 1_00, 1_01, 1_02, 1_03, 1_04, 1_05, 1_06, 1_07, 1_08, 1_09, 1_10, 1_11, 1_12 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 0_00 | AC | 1 ms | 1720 KiB |
| 0_01 | AC | 0 ms | 1552 KiB |
| 0_02 | AC | 1 ms | 1672 KiB |
| 0_03 | AC | 142 ms | 9804 KiB |
| 1_00 | AC | 1 ms | 1608 KiB |
| 1_01 | AC | 1 ms | 1700 KiB |
| 1_02 | AC | 0 ms | 1592 KiB |
| 1_03 | AC | 0 ms | 1628 KiB |
| 1_04 | AC | 12 ms | 6340 KiB |
| 1_05 | AC | 28 ms | 8916 KiB |
| 1_06 | AC | 101 ms | 9792 KiB |
| 1_07 | AC | 116 ms | 9832 KiB |
| 1_08 | AC | 171 ms | 9764 KiB |
| 1_09 | AC | 163 ms | 9904 KiB |
| 1_10 | AC | 184 ms | 9912 KiB |
| 1_11 | AC | 203 ms | 9904 KiB |
| 1_12 | AC | 173 ms | 9784 KiB |