Advertisement
Guest User

O(n)^6

a guest
Mar 13th, 2018
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.60 KB | None | 0 0
  1. #include <string.h>
  2. #include "doublewordsquare.h"
  3. #include "cs136.h"
  4.  
  5. bool word_grid_possible(char *words[8]){
  6. // checking row
  7. char ans[4];
  8. int correct = 0;
  9. int used[3] = {-1, -1, -1};
  10.  
  11. for (int i = 0; i < 8; ++i) {
  12. for (int j = 0; j < 8; ++j) {
  13. if (j == i) {
  14. continue;
  15. } else if (words[i][1] == words[j][0]) {
  16. for (int k = 0; k < 8; ++k) {
  17. if (k == i || k == j) {
  18. continue;
  19. } else if (words[i][2] == words[k][0]){
  20. for (int l = 0; l < 8; ++l) {
  21. if (l == i || l == j || l == k) {
  22. continue;
  23. } else if (words[i][3] == words[l][0]) {
  24. for (int m = 0; m < 4; ++m) {
  25. ans[0] = words[i][m];
  26. ans[1] = words[j][m];
  27. ans[2] = words[k][m];
  28. ans[3] = words[l][m];
  29.  
  30. for (int n = 0; n < 8; ++n) {
  31. if (n == i || n == j || n == k || n == l || n == used[0] || n == used[1] || n == used[2]) {
  32. continue;
  33. } else if (strcmp(ans, words[n]) && correct == 3) {
  34. return true;
  35. } else if (strcmp(ans, words[n])) {
  36. ++correct;
  37. used[m] = n;
  38. break;
  39. }
  40. }
  41. if (correct != m+1) {
  42. return false;
  43. }
  44. }
  45. }
  46. }
  47. }
  48. }
  49. }
  50. }
  51. }
  52. return false;
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement