{"id":21995394,"url":"https://github.com/dten/shzhrs","last_synced_at":"2025-03-23T04:20:31.515Z","repository":{"id":87888225,"uuid":"123497576","full_name":"dten/shzhrs","owner":"dten","description":"Shenzhen Solitaire shortest path solver","archived":false,"fork":false,"pushed_at":"2018-03-04T23:02:33.000Z","size":108,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-28T10:45:04.100Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dten.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-01T22:03:09.000Z","updated_at":"2023-08-07T05:51:11.000Z","dependencies_parsed_at":null,"dependency_job_id":"1b06dcd1-1865-4f52-81ab-8a88fcdb4b3d","html_url":"https://github.com/dten/shzhrs","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dten%2Fshzhrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dten%2Fshzhrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dten%2Fshzhrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dten%2Fshzhrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dten","download_url":"https://codeload.github.com/dten/shzhrs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245053425,"owners_count":20553326,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-29T21:14:51.217Z","updated_at":"2025-03-23T04:20:31.460Z","avatar_url":"https://github.com/dten.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# shzhrs\n\n[![Travis CI Status](https://travis-ci.org/dten/shzhrs.svg?branch=master)](https://travis-ci.org/dten/shzhrs)\n\n*Shortest* path solver for Shenzhen Solitaire\n\nUsage:\n\n`cargo run --release --example solve`\n\n```\nEnter board:\n;;;;;;;rDg5bDg2b6;r8ffg1b4r6;g3bDg7r7r4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7b5;g8gDrDb3rD;b9rDgDg6bD\nSolved in Duration { secs: 0, nanos: 1719064 }\n\nMove Red 4 from pile 3 to pile 6\n;;;;;;;rDg5bDg2b6;r8ffg1b4r6;g3bDg7r7;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black 6 from pile 1 to pile 3\n;;;;;;;rDg5bDg2;r8ffg1b4r6;g3bDg7r7b6;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black 5 from pile 6 to pile 2\n;;;;;;;rDg5bDg2;r8ffg1b4r6b5r4;g3bDg7r7b6;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7;g8gDrDb3rD;b9rDgDg6bD\n\nMove Red 6 from pile 2 to pile 6\n;;;;;;;rDg5bDg2;r8ffg1b4;g3bDg7r7b6;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Green 2 from pile 1 to spares\ng2;;;;;;;rDg5bD;r8ffg1b4;g3bDg7r7b6;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black Dragon from pile 1 to spares\ng2;bD;;;;;;rDg5;r8ffg1b4;g3bDg7r7b6;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Green 5 from pile 1 to pile 3\ng2;bD;;;;;;rD;r8ffg1b4;g3bDg7r7b6g5;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black 4 from pile 2 to pile 3\ng2;bD;;;;;;rD;r8ffg1;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Green 1\ng2;bD;;;;g1;;rD;r8ff;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nFlower power!\ng2;bD;;ff;;g1;;rD;r8;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Green 2\n;bD;;ff;;g2;;rD;r8;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1b7r6b5r4;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black 7 from pile 6 to pile 2\n;bD;;ff;;g2;;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9r1;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Red 1\n;bD;;ff;;g2;r1;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5b1gDr2b2;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nMove Black 2 from pile 4 to spares\nb2;bD;;ff;;g2;r1;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5b1gDr2;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Red 2\nb2;bD;;ff;;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5b1gD;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nMove Green Dragon from pile 4 to spares\nb2;bD;gD;ff;;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5b1;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Black 1\nb2;bD;gD;ff;b1;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nPlace Black 2\n;bD;gD;ff;b2;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5;bDb8g4gDr9;r3g9;g8gDrDb3rD;b9rDgDg6bD\n\nMove Red Dragon from pile 7 to spares\nrD;bD;gD;ff;b2;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5;bDb8g4gDr9;r3g9;g8gDrDb3;b9rDgDg6bD\n\nPlace Black 3\nrD;bD;gD;ff;b3;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5b4;r5;bDb8g4gDr9;r3g9;g8gDrD;b9rDgDg6bD\n\nPlace Black 4\nrD;bD;gD;ff;b4;g2;r2;rD;r8b7r6b5r4;g3bDg7r7b6g5;r5;bDb8g4gDr9;r3g9;g8gDrD;b9rDgDg6bD\n\nMove Red 8 from pile 2 to pile 6\nrD;bD;gD;ff;b4;g2;r2;rD;;g3bDg7r7b6g5;r5;bDb8g4gDr9;r3g9r8b7r6b5r4;g8gDrD;b9rDgDg6bD\n\nMove Green 9 from pile 6 to pile 2\nrD;bD;gD;ff;b4;g2;r2;rD;g9r8b7r6b5r4;g3bDg7r7b6g5;r5;bDb8g4gDr9;r3;g8gDrD;b9rDgDg6bD\n\nPlace Red 3\nrD;bD;gD;ff;b4;g2;r3;rD;g9r8b7r6b5r4;g3bDg7r7b6g5;r5;bDb8g4gDr9;;g8gDrD;b9rDgDg6bD\n\nPlace Red 4\nrD;bD;gD;ff;b4;g2;r4;rD;g9r8b7r6b5;g3bDg7r7b6g5;r5;bDb8g4gDr9;;g8gDrD;b9rDgDg6bD\n\nPlace Black 5\nrD;bD;gD;ff;b5;g2;r4;rD;g9r8b7r6;g3bDg7r7b6g5;r5;bDb8g4gDr9;;g8gDrD;b9rDgDg6bD\n\nPlace Red 5\nrD;bD;gD;ff;b5;g2;r5;rD;g9r8b7r6;g3bDg7r7b6g5;;bDb8g4gDr9;;g8gDrD;b9rDgDg6bD\n\nMove Black Dragon from pile 8 to pile 4\nrD;bD;gD;ff;b5;g2;r5;rD;g9r8b7r6;g3bDg7r7b6g5;bD;bDb8g4gDr9;;g8gDrD;b9rDgDg6\n\nMove Green 6 from pile 8 to pile 6\nrD;bD;gD;ff;b5;g2;r5;rD;g9r8b7r6;g3bDg7r7b6g5;bD;bDb8g4gDr9;g6;g8gDrD;b9rDgD\n\nPlace Red 6\nrD;bD;gD;ff;b5;g2;r6;rD;g9r8b7;g3bDg7r7b6g5;bD;bDb8g4gDr9;g6;g8gDrD;b9rDgD\n\nMove Green 6 from pile 6 to pile 2\nrD;bD;gD;ff;b5;g2;r6;rD;g9r8b7g6;g3bDg7r7b6g5;bD;bDb8g4gDr9;;g8gDrD;b9rDgD\n\nMove Green Dragon from pile 8 to pile 6\nrD;bD;gD;ff;b5;g2;r6;rD;g9r8b7g6;g3bDg7r7b6g5;bD;bDb8g4gDr9;gD;g8gDrD;b9rD\n\nStack Red Dragons\nrDrDrDrD;bD;gD;ff;b5;g2;r6;;g9r8b7g6;g3bDg7r7b6g5;bD;bDb8g4gDr9;gD;g8gD;b9\n\nMove Red 9 from pile 5 to pile 1\nrDrDrDrD;bD;gD;ff;b5;g2;r6;r9;g9r8b7g6;g3bDg7r7b6g5;bD;bDb8g4gD;gD;g8gD;b9\n\nStack Green Dragons\nrDrDrDrD;bD;gDgDgDgD;ff;b5;g2;r6;r9;g9r8b7g6;g3bDg7r7b6g5;bD;bDb8g4;;g8;b9\n\nMove Red 7 from pile 3 to pile 7\nrDrDrDrD;bD;gDgDgDgD;ff;b5;g2;r6;r9;g9r8b7g6;g3bDg7;bD;bDb8g4;;g8r7b6g5;b9\n\nMove Green 4 from pile 5 to pile 6\nrDrDrDrD;bD;gDgDgDgD;ff;b5;g2;r6;r9;g9r8b7g6;g3bDg7;bD;bDb8;g4;g8r7b6g5;b9\n\nMove Green 7 from pile 3 to pile 5\nrDrDrDrD;bD;gDgDgDgD;ff;b5;g2;r6;r9;g9r8b7g6;g3bD;bD;bDb8g7;g4;g8r7b6g5;b9\n\nMove Black 8 from pile 5 to pile 1\nrDrDrDrD;bD;gDgDgDgD;ff;b5;g2;r6;r9b8g7;g9r8b7g6;g3bD;bD;bD;g4;g8r7b6g5;b9\n\nStack Black Dragons\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b5;g2;r6;r9b8g7;g9r8b7g6;g3;;;g4;g8r7b6g5;b9\n\nPlace Green 3\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b5;g3;r6;r9b8g7;g9r8b7g6;;;;g4;g8r7b6g5;b9\n\nPlace Green 4\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b5;g4;r6;r9b8g7;g9r8b7g6;;;;;g8r7b6g5;b9\n\nPlace Green 5\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b5;g5;r6;r9b8g7;g9r8b7g6;;;;;g8r7b6;b9\n\nPlace Black 6\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b6;g5;r6;r9b8g7;g9r8b7g6;;;;;g8r7;b9\n\nPlace Green 6\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b6;g6;r6;r9b8g7;g9r8b7;;;;;g8r7;b9\n\nPlace Black 7\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b7;g6;r6;r9b8g7;g9r8;;;;;g8r7;b9\n\nPlace Green 7\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b7;g7;r6;r9b8;g9r8;;;;;g8r7;b9\n\nPlace Black 8\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b8;g7;r6;r9;g9r8;;;;;g8r7;b9\n\nPlace Black 9\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g7;r6;r9;g9r8;;;;;g8r7;\n\nPlace Red 7\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g7;r7;r9;g9r8;;;;;g8;\n\nPlace Green 8\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g8;r7;r9;g9r8;;;;;;\n\nPlace Red 8\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g8;r8;r9;g9;;;;;;\n\nPlace Green 9\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g9;r8;r9;;;;;;;\n\nPlace Red 9\nrDrDrDrD;bDbDbDbD;gDgDgDgD;ff;b9;g9;r9;;;;;;;;\n```\n\n## Results\n`cargo run --release --example endless` will run 1000 random problems and prints the time taken for each.\n\n| Percentile | Time to solve (or disprove) |\n| --- | --- |\n| 25 | 0.001035304s |\n| 50 | 0.002276648s |\n| 75 | 0.010018273s |\n| 85 | 0.023886391s |\n| 95 | 0.266564047s |\n| 99 | 2.631866001s |\n| 100 | 302.0584249s |\n\n`;;;;;;;g8bDgDr9r7;g1b8gDrDb4;r6rDb2r3r4;g3gDr1b9b5;bDg4b1b3b7;rDg2gDg9g7;b6r8rDr5bD;g5g6r2ffbD` took 302 seconds to find that it was impossible.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdten%2Fshzhrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdten%2Fshzhrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdten%2Fshzhrs/lists"}