From 5355de2921126e2b75e24abd57e17556e22a6ed0 Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 7 Aug 2025 15:09:46 +0200 Subject: Added API function for solution variations --- test/150_variations/00_unniss.in | 2 ++ test/150_variations/00_unniss.out | 2 ++ test/150_variations/01_lastqt_simple.in | 2 ++ test/150_variations/01_lastqt_simple.out | 3 +++ test/150_variations/02_lastqt_niss.in | 2 ++ test/150_variations/02_lastqt_niss.out | 5 +++++ test/150_variations/03_lastqt_parallel.in | 2 ++ test/150_variations/03_lastqt_parallel.out | 5 +++++ test/150_variations/04_lastqt_parallel_niss.in | 2 ++ test/150_variations/04_lastqt_parallel_niss.out | 17 +++++++++++++++++ test/150_variations/variations.c | 19 +++++++++++++++++++ 11 files changed, 61 insertions(+) create mode 100644 test/150_variations/00_unniss.in create mode 100644 test/150_variations/00_unniss.out create mode 100644 test/150_variations/01_lastqt_simple.in create mode 100644 test/150_variations/01_lastqt_simple.out create mode 100644 test/150_variations/02_lastqt_niss.in create mode 100644 test/150_variations/02_lastqt_niss.out create mode 100644 test/150_variations/03_lastqt_parallel.in create mode 100644 test/150_variations/03_lastqt_parallel.out create mode 100644 test/150_variations/04_lastqt_parallel_niss.in create mode 100644 test/150_variations/04_lastqt_parallel_niss.out create mode 100644 test/150_variations/variations.c (limited to 'test') diff --git a/test/150_variations/00_unniss.in b/test/150_variations/00_unniss.in new file mode 100644 index 0000000..84c3c3d --- /dev/null +++ b/test/150_variations/00_unniss.in @@ -0,0 +1,2 @@ +unniss +Uw2 F B' L x M R D' (D' R2 F' L2 B D') diff --git a/test/150_variations/00_unniss.out b/test/150_variations/00_unniss.out new file mode 100644 index 0000000..f38061b --- /dev/null +++ b/test/150_variations/00_unniss.out @@ -0,0 +1,2 @@ +1 +Uw2 F B' L x M R D' D B' L2 F R2 D diff --git a/test/150_variations/01_lastqt_simple.in b/test/150_variations/01_lastqt_simple.in new file mode 100644 index 0000000..f7ecc50 --- /dev/null +++ b/test/150_variations/01_lastqt_simple.in @@ -0,0 +1,2 @@ +lastqt +U2 D L' F diff --git a/test/150_variations/01_lastqt_simple.out b/test/150_variations/01_lastqt_simple.out new file mode 100644 index 0000000..53fbdcc --- /dev/null +++ b/test/150_variations/01_lastqt_simple.out @@ -0,0 +1,3 @@ +2 +U2 D L' F +U2 D L' F' diff --git a/test/150_variations/02_lastqt_niss.in b/test/150_variations/02_lastqt_niss.in new file mode 100644 index 0000000..fc72321 --- /dev/null +++ b/test/150_variations/02_lastqt_niss.in @@ -0,0 +1,2 @@ +lastqt +U B2 L (F R') diff --git a/test/150_variations/02_lastqt_niss.out b/test/150_variations/02_lastqt_niss.out new file mode 100644 index 0000000..52c0db0 --- /dev/null +++ b/test/150_variations/02_lastqt_niss.out @@ -0,0 +1,5 @@ +4 +U B2 L (F R) +U B2 L (F R') +U B2 L' (F R) +U B2 L' (F R') diff --git a/test/150_variations/03_lastqt_parallel.in b/test/150_variations/03_lastqt_parallel.in new file mode 100644 index 0000000..8a650fb --- /dev/null +++ b/test/150_variations/03_lastqt_parallel.in @@ -0,0 +1,2 @@ +lastqt +U F B' diff --git a/test/150_variations/03_lastqt_parallel.out b/test/150_variations/03_lastqt_parallel.out new file mode 100644 index 0000000..611b3df --- /dev/null +++ b/test/150_variations/03_lastqt_parallel.out @@ -0,0 +1,5 @@ +4 +U F B +U F B' +U F' B +U F' B' diff --git a/test/150_variations/04_lastqt_parallel_niss.in b/test/150_variations/04_lastqt_parallel_niss.in new file mode 100644 index 0000000..8f186f5 --- /dev/null +++ b/test/150_variations/04_lastqt_parallel_niss.in @@ -0,0 +1,2 @@ +lastqt +L2 R U' D (U' D') diff --git a/test/150_variations/04_lastqt_parallel_niss.out b/test/150_variations/04_lastqt_parallel_niss.out new file mode 100644 index 0000000..5600d88 --- /dev/null +++ b/test/150_variations/04_lastqt_parallel_niss.out @@ -0,0 +1,17 @@ +16 +L2 R U D (U D) +L2 R U D (U D') +L2 R U D (U' D) +L2 R U D (U' D') +L2 R U D' (U D) +L2 R U D' (U D') +L2 R U D' (U' D) +L2 R U D' (U' D') +L2 R U' D (U D) +L2 R U' D (U D') +L2 R U' D (U' D) +L2 R U' D (U' D') +L2 R U' D' (U D) +L2 R U' D' (U D') +L2 R U' D' (U' D) +L2 R U' D' (U' D') diff --git a/test/150_variations/variations.c b/test/150_variations/variations.c new file mode 100644 index 0000000..2c08607 --- /dev/null +++ b/test/150_variations/variations.c @@ -0,0 +1,19 @@ +#include "../test.h" + +long long nissy_variations( + const char *, const char *, long long unsigned, char *); + +void run(void) { + long long err; + char variation[STRLENMAX], moves[STRLENMAX], result[STRLENMAX]; + + fgets(variation, STRLENMAX, stdin); + variation[strlen(variation)-1] = '\0'; /* Remove newline */ + fgets(moves, STRLENMAX, stdin); + + err = nissy_variations(moves, variation, STRLENMAX, result); + if (err < 0) + printf("Error %lld\n", err); + else + printf("%lld\n%s", err, result); +} -- cgit v1.3