Cody

Problem 42639. Find the Final State of an Abelian Sandpile

Solution 1186418

Submitted on 11 May 2017 by shahriar memaran
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

Test Suite

Test Status Code Input and Output
1   Pass
A = 1; B_correct = 1; assert(isequal(sandpile(A),B_correct))

2   Pass
A = [0 0 0;0 4 1;1 0 0]; B_correct = [0 1 0;1 0 2;1 1 0]; assert(isequal(sandpile(A),B_correct))

3   Pass
A = [0 0 0 0;0 4 4 0;0 0 0 0]; B_correct = [0 1 1 0;1 1 1 1;0 1 1 0]; assert(isequal(sandpile(A),B_correct))

4   Pass
A = [0 0 0 0 0;0 0 0 0 0;0 0 17 0 0;0 0 0 7 0;0 0 0 0 0]; B_correct = [0 0 1 0 0;0 2 1 2 0;1 1 1 3 1;0 2 3 1 2;0 0 1 2 0]; assert(isequal(sandpile(A),B_correct))

5   Pass
A = [0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 16 2 3 13 0 0 0 0;0 0 0 5 11 10 8 0 0 0 0;0 0 0 9 7 6 12 0 0 0 0;0 0 0 4 14 15 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0]; B_correct = [0 0 0 0 0 0 0 0 0 0 0;0 0 1 3 3 3 3 1 0 0 0;0 2 3 2 3 3 2 3 2 0 0;1 1 1 3 2 3 1 1 1 1 0;1 3 1 1 3 3 1 2 3 1 0;1 3 0 3 3 3 3 1 3 1 0;1 0 3 2 2 3 0 3 0 1 0;0 2 2 3 2 2 3 2 2 0 0;0 0 2 0 3 3 0 2 0 0 0;0 0 0 1 1 1 1 0 0 0 0;0 0 0 0 0 0 0 0 0 0 0]; assert(isequal(sandpile(A),B_correct))

Suggested Problems

More from this Author50

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!