Submission #1798558
Source Code Expand
#include<iostream> #include<vector> #include<bitset> using namespace std; typedef long long ll; int N, M; ll dp[1 << 16]; int in[16]; vector<vector<int>> e; ll memo(int bit, int nokori[16]) { ll res = 0; if (bit == (1 << N) - 1)return dp[bit] = 1; if (dp[bit] != 0)return dp[bit]; for (int i = 0; i < N; i++) { if (nokori[i] == 0 && !(bit & (1 << i))) { vector<int> delta; for (int j = 0; j < e[i].size(); j++) { if (nokori[e[i][j]] != 0)delta.push_back(j); } for (int j = 0; j < delta.size(); j++) { nokori[e[i][delta[j]]]--; } res += memo(bit | (1 << i), nokori); for (int j = 0; j < delta.size(); j++) { nokori[e[i][delta[j]]]++; } } } return dp[bit] = res; } int main() { cin >> N >> M; e.resize(N); for (int i = 0; i < M; i++) { int a, b; cin >> a >> b; a--, b--; e[a].push_back(b); in[b]++; } cout << memo(0, in) << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | D - 徒競走 |
User | Sen |
Language | C++14 (GCC 5.4.1) |
Score | 100 |
Code Size | 961 Byte |
Status | AC |
Exec Time | 7 ms |
Memory | 768 KB |
Judge Result
Set Name | Sample | Subtask1 | All | ||||||
---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 30 / 30 | 70 / 70 | ||||||
Status |
|
|
|
Set Name | Test Cases |
---|---|
Sample | 0_00.txt, 0_01.txt, 0_02.txt |
Subtask1 | 0_00.txt, 0_01.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt |
All | 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 2_00.txt, 2_01.txt, 2_02.txt, 2_03.txt, 2_04.txt, 2_05.txt, 2_06.txt, 2_07.txt, 2_08.txt, 2_09.txt, 2_10.txt, 2_11.txt, 2_12.txt, 2_13.txt, 2_14.txt, 2_15.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
0_00.txt | AC | 1 ms | 256 KB |
0_01.txt | AC | 1 ms | 256 KB |
0_02.txt | AC | 7 ms | 768 KB |
1_00.txt | AC | 1 ms | 256 KB |
1_01.txt | AC | 1 ms | 256 KB |
1_02.txt | AC | 1 ms | 256 KB |
1_03.txt | AC | 1 ms | 256 KB |
1_04.txt | AC | 1 ms | 256 KB |
1_05.txt | AC | 1 ms | 256 KB |
1_06.txt | AC | 1 ms | 256 KB |
1_07.txt | AC | 1 ms | 256 KB |
1_08.txt | AC | 1 ms | 256 KB |
1_09.txt | AC | 1 ms | 256 KB |
1_10.txt | AC | 1 ms | 256 KB |
1_11.txt | AC | 1 ms | 256 KB |
1_12.txt | AC | 1 ms | 256 KB |
2_00.txt | AC | 7 ms | 768 KB |
2_01.txt | AC | 1 ms | 256 KB |
2_02.txt | AC | 1 ms | 256 KB |
2_03.txt | AC | 1 ms | 256 KB |
2_04.txt | AC | 1 ms | 256 KB |
2_05.txt | AC | 1 ms | 256 KB |
2_06.txt | AC | 1 ms | 256 KB |
2_07.txt | AC | 1 ms | 256 KB |
2_08.txt | AC | 1 ms | 384 KB |
2_09.txt | AC | 1 ms | 256 KB |
2_10.txt | AC | 1 ms | 384 KB |
2_11.txt | AC | 1 ms | 256 KB |
2_12.txt | AC | 2 ms | 640 KB |
2_13.txt | AC | 2 ms | 768 KB |
2_14.txt | AC | 2 ms | 640 KB |
2_15.txt | AC | 3 ms | 640 KB |