feat(bfs, backtracking): new problem formated

This commit is contained in:
2025-11-05 20:44:07 -03:00
parent abefdb4352
commit 3db23b4f54
228 changed files with 6899 additions and 0 deletions

97
sliding-puzzle/Makefile Normal file
View File

@@ -0,0 +1,97 @@
# Normal directories
SRC_DIR := src
BIN_DIR := bin
DBG_DIR := bin/debug
# Grader directories
GRADER := $(wildcard $(SRC_DIR)/grader.cpp)
GRADER_DIR := $(SRC_DIR)/grader
HANDLER_DIR := $(SRC_DIR)/handler
GRADER_SRC := $(wildcard $(GRADER_DIR)/*.cpp)
GRADER_BIN := $(patsubst $(GRADER_DIR)/%.cpp, $(BIN_DIR)/%, $(GRADER_SRC))
GRADER_DBG := $(patsubst $(GRADER_DIR)/%.cpp, $(DBG_DIR)/%, $(GRADER_SRC))
# Change CPP source directories if grader is defined
ifdef GRADER
SRC := $(wildcard $(HANDLER_DIR)/*.cpp)
BIN := $(patsubst $(HANDLER_DIR)/%.cpp, $(BIN_DIR)/%, $(SRC))
DBG := $(patsubst $(HANDLER_DIR)/%.cpp, $(DBG_DIR)/%, $(SRC))
else
SRC := $(wildcard $(SRC_DIR)/*.cpp)
BIN := $(patsubst $(SRC_DIR)/%.cpp, $(BIN_DIR)/%, $(SRC))
DBG := $(patsubst $(SRC_DIR)/%.cpp, $(DBG_DIR)/%, $(SRC))
endif
SRC_C := $(wildcard $(SRC_DIR)/*.c)
BIN_C := $(patsubst $(SRC_DIR)/%.c, $(BIN_DIR)/%, $(SRC_C))
DBG_C := $(patsubst $(SRC_DIR)/%.c, $(DBG_DIR)/%, $(SRC_C))
SRC_JAVA := $(wildcard $(SRC_DIR)/*.java)
BIN_JAVA := $(patsubst $(SRC_DIR)/%.java, $(BIN_DIR)/%.class, $(SRC_JAVA))
DBG_JAVA := $(patsubst $(SRC_DIR)/%.java, $(DBG_DIR)/%.class, $(SRC_JAVA))
CHECKER := $(wildcard $(SRC_DIR)/checker.cpp)
C := gcc
CPP := g++
CXX_FLAGS := -Wall -O2
DEBUG_FLAGS := -Wall -g
BOCA_FLAGS := -static -DBOCA_SUPPORT
JV = javac
JV_DEBUG = -g
JV_DIR = -d bin
JV_DBG_DIR = -d bin/debug
.PHONY: all debug release checker clean
all: debug release checker
debug: $(DBG) $(DBG_C) $(DBG_JAVA) $(GRADER_DBG)
release: $(BIN) $(BIN_C) $(BIN_JAVA) $(GRADER_BIN)
ifdef CHECKER
checker: $(DBG_DIR)/checker-boca $(BIN_DIR)/checker-boca
endif
$(BIN): $(BIN_DIR)/% : $(SRC_DIR)/%.cpp | $(BIN_DIR)
$(CPP) $(CXX_FLAGS) $^ -o $@
$(DBG): $(DBG_DIR)/% : $(SRC_DIR)/%.cpp | $(DBG_DIR)
$(CPP) $(DEBUG_FLAGS) $^ -o $@
$(BIN_C): $(BIN_DIR)/% : $(SRC_DIR)/%.c | $(BIN_DIR)
$(C) $(CXX_FLAGS) $^ -o $@
$(DBG_C): $(DBG_DIR)/% : $(SRC_DIR)/%.c | $(DBG_DIR)
$(C) $(DEBUG_FLAGS) $^ -o $@
$(BIN_JAVA): $(BIN_DIR)/%.class : $(SRC_DIR)/%.java | $(BIN_DIR)
$(JV) $(JV_DIR) $^
$(DBG_JAVA): $(DBG_DIR)/%.class : $(SRC_DIR)/%.java | $(DBG_DIR)
$(JV) $(JV_DEBUG) $(JV_DBG_DIR) $^
$(GRADER_BIN): $(BIN_DIR)/% : $(GRADER_DIR)/%.cpp $(GRADER) $(GRADER_DIR)/*.h
$(CPP) $(CXX_FLAGS) $^ -o $@
$(GRADER_DBG): $(DBG_DIR)/% : $(GRADER_DIR)/%.cpp $(GRADER) $(GRADER_DIR)/*.h
$(CPP) $(DEBUG_FLAGS) $^ -o $@
$(BIN_DIR):
mkdir -p $@
$(DBG_DIR):
mkdir -p $@
$(BIN_DIR)/checker-boca: $(SRC_DIR)/checker.cpp
$(CPP) $(CXX_FLAGS) $(BOCA_FLAGS) $^ -o $@
$(DBG_DIR)/checker-boca: $(SRC_DIR)/checker.cpp
$(CPP) $(DEBUG_FLAGS) $(BOCA_FLAGS) $^ -o $@
clean:
@echo Cleaning problem files
rm -rf bin

2
sliding-puzzle/input/1 Normal file
View File

@@ -0,0 +1,2 @@
412
503

2
sliding-puzzle/input/10 Normal file
View File

@@ -0,0 +1,2 @@
012
534

2
sliding-puzzle/input/100 Normal file
View File

@@ -0,0 +1,2 @@
045
312

2
sliding-puzzle/input/101 Normal file
View File

@@ -0,0 +1,2 @@
045
321

2
sliding-puzzle/input/102 Normal file
View File

@@ -0,0 +1,2 @@
051
234

2
sliding-puzzle/input/103 Normal file
View File

@@ -0,0 +1,2 @@
051
243

2
sliding-puzzle/input/104 Normal file
View File

@@ -0,0 +1,2 @@
051
324

2
sliding-puzzle/input/105 Normal file
View File

@@ -0,0 +1,2 @@
051
342

2
sliding-puzzle/input/106 Normal file
View File

@@ -0,0 +1,2 @@
123
450

2
sliding-puzzle/input/11 Normal file
View File

@@ -0,0 +1,2 @@
012
543

2
sliding-puzzle/input/12 Normal file
View File

@@ -0,0 +1,2 @@
013
245

2
sliding-puzzle/input/13 Normal file
View File

@@ -0,0 +1,2 @@
013
254

2
sliding-puzzle/input/14 Normal file
View File

@@ -0,0 +1,2 @@
013
425

2
sliding-puzzle/input/15 Normal file
View File

@@ -0,0 +1,2 @@
013
452

2
sliding-puzzle/input/16 Normal file
View File

@@ -0,0 +1,2 @@
013
524

2
sliding-puzzle/input/17 Normal file
View File

@@ -0,0 +1,2 @@
013
542

2
sliding-puzzle/input/18 Normal file
View File

@@ -0,0 +1,2 @@
014
235

2
sliding-puzzle/input/19 Normal file
View File

@@ -0,0 +1,2 @@
014
253

2
sliding-puzzle/input/2 Normal file
View File

@@ -0,0 +1,2 @@
123
540

2
sliding-puzzle/input/20 Normal file
View File

@@ -0,0 +1,2 @@
014
325

2
sliding-puzzle/input/21 Normal file
View File

@@ -0,0 +1,2 @@
014
352

2
sliding-puzzle/input/22 Normal file
View File

@@ -0,0 +1,2 @@
014
523

2
sliding-puzzle/input/23 Normal file
View File

@@ -0,0 +1,2 @@
014
532

2
sliding-puzzle/input/24 Normal file
View File

@@ -0,0 +1,2 @@
015
234

2
sliding-puzzle/input/25 Normal file
View File

@@ -0,0 +1,2 @@
015
243

2
sliding-puzzle/input/26 Normal file
View File

@@ -0,0 +1,2 @@
015
324

2
sliding-puzzle/input/27 Normal file
View File

@@ -0,0 +1,2 @@
015
342

2
sliding-puzzle/input/28 Normal file
View File

@@ -0,0 +1,2 @@
015
423

2
sliding-puzzle/input/29 Normal file
View File

@@ -0,0 +1,2 @@
015
432

2
sliding-puzzle/input/3 Normal file
View File

@@ -0,0 +1,2 @@
123
405

2
sliding-puzzle/input/30 Normal file
View File

@@ -0,0 +1,2 @@
021
345

2
sliding-puzzle/input/31 Normal file
View File

@@ -0,0 +1,2 @@
021
354

2
sliding-puzzle/input/32 Normal file
View File

@@ -0,0 +1,2 @@
021
435

2
sliding-puzzle/input/33 Normal file
View File

@@ -0,0 +1,2 @@
021
453

2
sliding-puzzle/input/34 Normal file
View File

@@ -0,0 +1,2 @@
021
534

2
sliding-puzzle/input/35 Normal file
View File

@@ -0,0 +1,2 @@
021
543

2
sliding-puzzle/input/36 Normal file
View File

@@ -0,0 +1,2 @@
023
145

2
sliding-puzzle/input/37 Normal file
View File

@@ -0,0 +1,2 @@
023
154

2
sliding-puzzle/input/38 Normal file
View File

@@ -0,0 +1,2 @@
023
415

2
sliding-puzzle/input/39 Normal file
View File

@@ -0,0 +1,2 @@
023
451

2
sliding-puzzle/input/4 Normal file
View File

@@ -0,0 +1,2 @@
413
025

2
sliding-puzzle/input/40 Normal file
View File

@@ -0,0 +1,2 @@
023
514

2
sliding-puzzle/input/41 Normal file
View File

@@ -0,0 +1,2 @@
023
541

2
sliding-puzzle/input/42 Normal file
View File

@@ -0,0 +1,2 @@
024
135

2
sliding-puzzle/input/43 Normal file
View File

@@ -0,0 +1,2 @@
024
153

2
sliding-puzzle/input/44 Normal file
View File

@@ -0,0 +1,2 @@
024
315

2
sliding-puzzle/input/45 Normal file
View File

@@ -0,0 +1,2 @@
024
351

2
sliding-puzzle/input/46 Normal file
View File

@@ -0,0 +1,2 @@
024
513

2
sliding-puzzle/input/47 Normal file
View File

@@ -0,0 +1,2 @@
024
531

2
sliding-puzzle/input/48 Normal file
View File

@@ -0,0 +1,2 @@
025
134

2
sliding-puzzle/input/49 Normal file
View File

@@ -0,0 +1,2 @@
025
143

2
sliding-puzzle/input/5 Normal file
View File

@@ -0,0 +1,2 @@
152
403

2
sliding-puzzle/input/50 Normal file
View File

@@ -0,0 +1,2 @@
025
314

2
sliding-puzzle/input/51 Normal file
View File

@@ -0,0 +1,2 @@
025
341

2
sliding-puzzle/input/52 Normal file
View File

@@ -0,0 +1,2 @@
025
413

2
sliding-puzzle/input/53 Normal file
View File

@@ -0,0 +1,2 @@
025
431

2
sliding-puzzle/input/54 Normal file
View File

@@ -0,0 +1,2 @@
031
245

2
sliding-puzzle/input/55 Normal file
View File

@@ -0,0 +1,2 @@
031
254

2
sliding-puzzle/input/56 Normal file
View File

@@ -0,0 +1,2 @@
031
425

2
sliding-puzzle/input/57 Normal file
View File

@@ -0,0 +1,2 @@
031
452

2
sliding-puzzle/input/58 Normal file
View File

@@ -0,0 +1,2 @@
031
524

2
sliding-puzzle/input/59 Normal file
View File

@@ -0,0 +1,2 @@
031
542

2
sliding-puzzle/input/6 Normal file
View File

@@ -0,0 +1,2 @@
012
345

2
sliding-puzzle/input/60 Normal file
View File

@@ -0,0 +1,2 @@
032
145

2
sliding-puzzle/input/61 Normal file
View File

@@ -0,0 +1,2 @@
032
154

2
sliding-puzzle/input/62 Normal file
View File

@@ -0,0 +1,2 @@
032
415

2
sliding-puzzle/input/63 Normal file
View File

@@ -0,0 +1,2 @@
032
451

2
sliding-puzzle/input/64 Normal file
View File

@@ -0,0 +1,2 @@
032
514

2
sliding-puzzle/input/65 Normal file
View File

@@ -0,0 +1,2 @@
032
541

2
sliding-puzzle/input/66 Normal file
View File

@@ -0,0 +1,2 @@
034
125

2
sliding-puzzle/input/67 Normal file
View File

@@ -0,0 +1,2 @@
034
152

2
sliding-puzzle/input/68 Normal file
View File

@@ -0,0 +1,2 @@
034
215

2
sliding-puzzle/input/69 Normal file
View File

@@ -0,0 +1,2 @@
034
251

2
sliding-puzzle/input/7 Normal file
View File

@@ -0,0 +1,2 @@
012
354

2
sliding-puzzle/input/70 Normal file
View File

@@ -0,0 +1,2 @@
034
512

2
sliding-puzzle/input/71 Normal file
View File

@@ -0,0 +1,2 @@
034
521

2
sliding-puzzle/input/72 Normal file
View File

@@ -0,0 +1,2 @@
035
124

2
sliding-puzzle/input/73 Normal file
View File

@@ -0,0 +1,2 @@
035
142

2
sliding-puzzle/input/74 Normal file
View File

@@ -0,0 +1,2 @@
035
214

2
sliding-puzzle/input/75 Normal file
View File

@@ -0,0 +1,2 @@
035
241

2
sliding-puzzle/input/76 Normal file
View File

@@ -0,0 +1,2 @@
035
412

2
sliding-puzzle/input/77 Normal file
View File

@@ -0,0 +1,2 @@
035
421

2
sliding-puzzle/input/78 Normal file
View File

@@ -0,0 +1,2 @@
041
235

2
sliding-puzzle/input/79 Normal file
View File

@@ -0,0 +1,2 @@
041
253

2
sliding-puzzle/input/8 Normal file
View File

@@ -0,0 +1,2 @@
012
435

2
sliding-puzzle/input/80 Normal file
View File

@@ -0,0 +1,2 @@
041
325

2
sliding-puzzle/input/81 Normal file
View File

@@ -0,0 +1,2 @@
041
352

2
sliding-puzzle/input/82 Normal file
View File

@@ -0,0 +1,2 @@
041
523

2
sliding-puzzle/input/83 Normal file
View File

@@ -0,0 +1,2 @@
041
532

2
sliding-puzzle/input/84 Normal file
View File

@@ -0,0 +1,2 @@
042
135

2
sliding-puzzle/input/85 Normal file
View File

@@ -0,0 +1,2 @@
042
153

2
sliding-puzzle/input/86 Normal file
View File

@@ -0,0 +1,2 @@
042
315

2
sliding-puzzle/input/87 Normal file
View File

@@ -0,0 +1,2 @@
042
351

2
sliding-puzzle/input/88 Normal file
View File

@@ -0,0 +1,2 @@
042
513

2
sliding-puzzle/input/89 Normal file
View File

@@ -0,0 +1,2 @@
042
531

2
sliding-puzzle/input/9 Normal file
View File

@@ -0,0 +1,2 @@
012
453

2
sliding-puzzle/input/90 Normal file
View File

@@ -0,0 +1,2 @@
043
125

2
sliding-puzzle/input/91 Normal file
View File

@@ -0,0 +1,2 @@
043
152

2
sliding-puzzle/input/92 Normal file
View File

@@ -0,0 +1,2 @@
043
215

Some files were not shown because too many files have changed in this diff Show More