From 54016a26930c758a2ee9ecc9f44391a6da3b8256 Mon Sep 17 00:00:00 2001 From: JamesFlare1212 Date: Thu, 20 Mar 2025 02:06:13 -0400 Subject: [PATCH] add hw6 solution --- .vscode/launch.json | 16 ++ .vscode/settings.json | 4 +- hws/inverse_word_search/README.txt | 12 +- hws/inverse_word_search/main | Bin 0 -> 450344 bytes hws/inverse_word_search/main.cpp | 337 +++++++++++++++++++++++++++++ hws/inverse_word_search/output.txt | 41 ++++ 6 files changed, 404 insertions(+), 6 deletions(-) create mode 100755 hws/inverse_word_search/main create mode 100644 hws/inverse_word_search/main.cpp create mode 100644 hws/inverse_word_search/output.txt diff --git a/.vscode/launch.json b/.vscode/launch.json index 6426eb1..e0a4ead 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -88,6 +88,22 @@ "MIMode": "gdb", "miDebuggerPath": "/usr/bin/gdb", "preLaunchTask": "C/C++: g++ build active file" + }, + { + "name": "inverse_word_search", + "type": "cppdbg", + "request": "launch", + "program": "${fileDirname}/${fileBasenameNoExtension}", + "args": [ + "puzzle3.txt", + "output.txt", + "all_solutions" + ], + "cwd": "${fileDirname}", + "environment": [], + "MIMode": "gdb", + "miDebuggerPath": "/usr/bin/gdb", + "preLaunchTask": "C/C++: g++ build active file" } ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 7a29424..e53c2b2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -71,6 +71,8 @@ "__hash_table": "cpp", "__string": "cpp", "queue": "cpp", - "stack": "cpp" + "stack": "cpp", + "set": "cpp", + "climits": "cpp" } } \ No newline at end of file diff --git a/hws/inverse_word_search/README.txt b/hws/inverse_word_search/README.txt index 6ef3286..731f4e8 100644 --- a/hws/inverse_word_search/README.txt +++ b/hws/inverse_word_search/README.txt @@ -1,7 +1,7 @@ HOMEWORK 6: INVERSE WORD SEARCH -NAME: < insert name > +NAME: Jinshan Zhou COLLABORATORS AND OTHER RESOURCES: @@ -10,18 +10,18 @@ List the names of everyone you talked to about this assignment LMS, etc.), and all of the resources (books, online reference material, etc.) you consulted in completing this assignment. -< insert collaborators / resources > +Lab document -- recursion on path finding Remember: Your implementation for this assignment must be done on your own, as described in "Academic Integrity for Homework" handout. -ESTIMATE OF # OF HOURS SPENT ON THIS ASSIGNMENT: < insert # hours > +ESTIMATE OF # OF HOURS SPENT ON THIS ASSIGNMENT: 30 hr MISC. COMMENTS TO GRADER: Optional, please be concise! - +I tried. ## Reflection and Self Assessment @@ -33,4 +33,6 @@ What parts of the assignment did you find challenging? Is there anything that finally "clicked" for you in the process of working on this assignment? How well did the development and testing process go for you? -< insert reflection > +This homework is very hard for me. It almost take forever to solve some puzzles. +I tried a lot of techniques to minimize the cost. But, it seems not enough. But +anyway, it's a good practice. diff --git a/hws/inverse_word_search/main b/hws/inverse_word_search/main new file mode 100755 index 0000000000000000000000000000000000000000..e9d5a6726e872998d9003003ea7f34784ac1603e GIT binary patch literal 450344 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 +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +struct Placement { + int r, c; // starting row and column + int dr, dc; // direction increments + string word; // the required word to place +}; + +// Check if the given string s contains any forbidden word or its reverse. +bool containsForbidden(const string &s, const vector &forbWords) { + for (size_t i = 0; i < forbWords.size(); i++) { + if (s.find(forbWords[i]) != string::npos) + return true; + string rev = forbWords[i]; + reverse(rev.begin(), rev.end()); + if (s.find(rev) != string::npos) + return true; + } + return false; +} + +// Checks the full board for forbidden words in every contiguous line. +bool fullForbiddenCheck(const vector< vector > &board, const vector &forbWords) { + int H = board.size(); + if (H == 0) return false; + int W = board[0].size(); + int dirs[8][2] = { {0,1}, {0,-1}, {1,0}, {-1,0}, {1,1}, {1,-1}, {-1,1}, {-1,-1} }; + for (int r = 0; r < H; r++) { + for (int c = 0; c < W; c++) { + for (int d = 0; d < 8; d++) { + int dr = dirs[d][0], dc = dirs[d][1]; + string line = ""; + int rr = r, cc = c; + while (rr >= 0 && rr < H && cc >= 0 && cc < W) { + line.push_back(board[rr][cc]); + if (containsForbidden(line, forbWords)) + return true; + rr += dr; + cc += dc; + } + } + } + } + return false; +} + +// Convert the board into a single string (rows separated by newline). +string boardToString(const vector< vector > &board) { + string s = ""; + for (size_t i = 0; i < board.size(); i++) { + for (size_t j = 0; j < board[i].size(); j++) { + s.push_back(board[i][j]); + } + if (i < board.size()-1) + s.push_back('\n'); + } + return s; +} + +// Given a newly assigned cell (r,c), check in all eight directions the contiguous block +bool checkCellDirections(int r, int c, const vector< vector > &board, const vector &forbWords, int minForbidLen) { + int H = board.size(), W = board[0].size(); + int dirs[8][2] = { {0,1}, {0,-1}, {1,0}, {-1,0}, {1,1}, {1,-1}, {-1,1}, {-1,-1} }; + for (int d = 0; d < 8; d++) { + int dr = dirs[d][0], dc = dirs[d][1]; + int sr = r, sc = c; + // Go backwards from (r,c) + while (true) { + int pr = sr - dr, pc = sc - dc; + if (pr < 0 || pr >= H || pc < 0 || pc >= W) break; + if (board[pr][pc] == '?') break; + sr = pr; sc = pc; + } + // Build the contiguous block from (sr,sc) + string block = ""; + int cr = sr, cc = sc; + while (cr >= 0 && cr < H && cc >= 0 && cc < W) { + if (board[cr][cc] == '?') break; + block.push_back(board[cr][cc]); + cr += dr; cc += dc; + } + if ((int)block.size() >= minForbidLen) { + if (containsForbidden(block, forbWords)) + return false; + } + } + return true; +} + +// Recursive function to fill free positions with letters +bool fillFreePositions(vector> &board, + vector> &freePositions, + int index, + const vector &forbWords, + int minForbidLen, + set &solutionSet, + vector &solutions, + bool findOne, + const string &outputFile) { + // Base case: all free positions filled + if (index == freePositions.size()) { + // Check if the solution is valid + if (!fullForbiddenCheck(board, forbWords)) { + string solStr = boardToString(board); + if (solutionSet.find(solStr) == solutionSet.end()) { + solutionSet.insert(solStr); + solutions.push_back(solStr); + + // If we need just one solution, write it to file and exit + if (findOne) { + ofstream fout(outputFile.c_str()); + fout << "Board:" << endl; + istringstream iss(solStr); + string line; + while(getline(iss, line)) + fout << " " << line << endl; + fout.close(); + return true; + } + } + } + return false; // Continue searching for more solutions + } + + // Try each letter for the current free position + int r = freePositions[index].first; + int c = freePositions[index].second; + + for (char ch = 'a'; ch <= 'z'; ch++) { + board[r][c] = ch; + + // Check if the new letter creates any forbidden words + if (checkCellDirections(r, c, board, forbWords, minForbidLen)) { + // Recursively fill the next position + if (fillFreePositions(board, freePositions, index + 1, forbWords, minForbidLen, + solutionSet, solutions, findOne, outputFile)) { + return true; // Solution found and we only need one + } + } + } + + // Backtrack: Reset the cell + board[r][c] = '?'; + return false; +} + +// Recursive function to place required words +bool placeRequiredWords(vector> &board, + const vector> &placements, + int wordIndex, + const vector &forbWords, + int minForbidLen, + set &solutionSet, + vector &solutions, + bool findOne, + const string &outputFile) { + // Base case: all required words placed + if (wordIndex == placements.size()) { + // Find free positions (cells marked with '?') + vector> freePositions; + for (int i = 0; i < board.size(); i++) { + for (int j = 0; j < board[0].size(); j++) { + if (board[i][j] == '?') { + freePositions.push_back(make_pair(i, j)); + } + } + } + + // Recursively fill free positions + return fillFreePositions(board, freePositions, 0, forbWords, minForbidLen, + solutionSet, solutions, findOne, outputFile); + } + + // Try each placement for the current word + for (const Placement &p : placements[wordIndex]) { + // Create a temporary copy of the board + vector> boardCopy = board; + bool conflict = false; + + // Try to place the word + for (size_t k = 0; k < p.word.size(); k++) { + int r = p.r + p.dr * k; + int c = p.c + p.dc * k; + + if (boardCopy[r][c] == '?' || boardCopy[r][c] == p.word[k]) { + boardCopy[r][c] = p.word[k]; + } else { + conflict = true; + break; + } + } + + // If no conflict and no forbidden words formed, continue to the next word + if (!conflict && !fullForbiddenCheck(boardCopy, forbWords)) { + if (placeRequiredWords(boardCopy, placements, wordIndex + 1, forbWords, minForbidLen, + solutionSet, solutions, findOne, outputFile)) { + return true; // Solution found and we only need one + } + } + } + + return false; // No solution found with any placement for this word +} + +int main(int argc, char* argv[]) { + if (argc != 4) { + cout << "Usage: " << argv[0] << " input.txt output.txt one_solution|all_solutions" << endl; + return 1; + } + + string inputFile = argv[1]; + string outputFile = argv[2]; + string mode = argv[3]; + bool findOne = false; + if (mode == "one_solution") { + findOne = true; + } else if (mode == "all_solutions") { + findOne = false; + } else { + cout << "Invalid mode. Use one_solution or all_solutions." << endl; + return 1; + } + + ifstream fin(inputFile.c_str()); + if (!fin) { + cout << "Cannot open input file." << endl; + return 1; + } + + int width, height; + fin >> width >> height; + string dummy; + getline(fin, dummy); // consume rest of first line + + // Separate required and forbidden words. + vector reqWords; + vector forbWords; + + while(getline(fin, dummy)) { + if(dummy.size() == 0) + continue; + char sign = dummy[0]; + string word = ""; + int pos = 1; + while (pos < dummy.size() && isspace(dummy[pos])) pos++; + while (pos < dummy.size() && !isspace(dummy[pos])) { + word.push_back(dummy[pos]); + pos++; + } + if (sign == '+') + reqWords.push_back(word); + else if (sign == '-') + forbWords.push_back(word); + } + fin.close(); + + // Precompute minimum forbidden word length. + int minForbidLen = INT_MAX; + for (size_t i = 0; i < forbWords.size(); i++) { + if ((int)forbWords[i].size() < minForbidLen) + minForbidLen = forbWords[i].size(); + } + if (forbWords.empty()) + minForbidLen = 27; // no forbidden word; no check needed + + // Precompute all placements for each required word. + vector> placements; + placements.resize(reqWords.size()); + int directions[8][2] = { {0,1}, {0,-1}, {1,0}, {-1,0}, {1,1}, {1,-1}, {-1,1}, {-1,-1} }; + + for (size_t w = 0; w < reqWords.size(); w++) { + string word = reqWords[w]; + for (int r = 0; r < height; r++) { + for (int c = 0; c < width; c++) { + for (int d = 0; d < 8; d++) { + int dr = directions[d][0], dc = directions[d][1]; + int end_r = r + dr * (word.size() - 1); + int end_c = c + dc * (word.size() - 1); + if (end_r < 0 || end_r >= height || end_c < 0 || end_c >= width) + continue; + Placement p; + p.r = r; p.c = c; p.dr = dr; p.dc = dc; p.word = word; + placements[w].push_back(p); + } + } + } + if (placements[w].empty()) { + ofstream fout(outputFile.c_str()); + fout << "No solutions found" << endl; + fout.close(); + return 0; + } + } + + // Use a set to avoid duplicate solutions. + set solutionSet; + vector solutions; + + // Prepare the base board filled with '?'. + vector> board(height, vector(width, '?')); + + // Call the recursive function to place required words + placeRequiredWords(board, placements, 0, forbWords, minForbidLen, + solutionSet, solutions, findOne, outputFile); + + // Write out all found solutions (if findOne is true, we've already written the solution). + if (!findOne || solutions.empty()) { + ofstream fout(outputFile.c_str()); + if (solutions.empty()) { + fout << "No solutions found" << endl; + } else { + fout << solutions.size() << " solution(s)" << endl; + for (size_t s = 0; s < solutions.size(); s++) { + fout << "Board:" << endl; + istringstream iss(solutions[s]); + string line; + while(getline(iss, line)) + fout << " " << line << endl; + } + } + fout.close(); + } + + return 0; +} \ No newline at end of file diff --git a/hws/inverse_word_search/output.txt b/hws/inverse_word_search/output.txt new file mode 100644 index 0000000..968ae11 --- /dev/null +++ b/hws/inverse_word_search/output.txt @@ -0,0 +1,41 @@ +8 solution(s) +Board: + aare + rrea + itss + dstt +Board: + eraa + aerr + ssti + ttsd +Board: + arid + arts + rest + east +Board: + dira + stra + tser + tsae +Board: + east + rest + arts + arid +Board: + tsae + tser + stra + dira +Board: + dstt + itss + rrea + aare +Board: + ttsd + ssti + aerr + eraa