Special Graph
Practice
0 (0 votes)
Linear algebra
Medium
Mathematics
Problem
25% Success 16 Attempts 30 Points 1s Time Limit 256MB Memory 1024 KB Max Code

Given a graph G initially having one node of label 1, you should do to the graph following steps K times:

  1. Let the current number of nodes in the graph is S
  2. copy the the graph G, let the copy be G'
  3. add the number S to labels of all nodes in G'
  4. Let the new graph be the union of G and G'
  5. for every i between 1 and S, add an edge between node i and node i+S

Now you are required to calculate the number of paths of N steps which start at node A and pass through node B at least once then return to node A after the N-th step. Paths can pass through node A at intermediate steps.

Input format:

The first and the only line consist of 4 integers, K, N, A and B.

Output format:

Output a single integer, the answer to the problem modulo 1,000,000,007.

Constraints:

  • 1 <= K <= 12
  • 1 <= N <= 1,000,000,000
  • 1 <= A, B <= 2^K
  • A != B

Please login to use the editor

You need to be logged in to access the code editor

Loading...

Please wait while we load the editor

Loading...
Results
Custom Input
Run your code to see the output
Submissions
Please login to view your submissions
Similar Problems
Points:30
Tags:
Medium
Points:30
7 votes
Tags:
Binary SearchImplementationDynamic ProgrammingAlgorithms4D dynamic programming
Points:30
3 votes
Tags:
AlgorithmsBitmaskDynamic ProgrammingDigitDP4D dynamic programming