Optimized algorithm to place objects in a nxm Grid according to given Pattern











up vote
-1
down vote

favorite












As shown in the image, the top right corner specifies the pattern in which the center grid is to be filled with colored boxes(could be more than 2 colors).



Image of Activity Area



we are starting from (0,0) bottom left corner. We can't move outside the activity area. Please suggest an optimized algorithm that takes care of following edge cases and fill the grid(White area) in minimum possible time:




  • Grid could have already wrongly filled boxes, which should be placed somewhere else before filling that position.

  • We can't move over a box but we can pick it up.

  • We could be blocked from all sides by boxes so we need take care of that.










share|improve this question









New contributor




Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
























    up vote
    -1
    down vote

    favorite












    As shown in the image, the top right corner specifies the pattern in which the center grid is to be filled with colored boxes(could be more than 2 colors).



    Image of Activity Area



    we are starting from (0,0) bottom left corner. We can't move outside the activity area. Please suggest an optimized algorithm that takes care of following edge cases and fill the grid(White area) in minimum possible time:




    • Grid could have already wrongly filled boxes, which should be placed somewhere else before filling that position.

    • We can't move over a box but we can pick it up.

    • We could be blocked from all sides by boxes so we need take care of that.










    share|improve this question









    New contributor




    Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.






















      up vote
      -1
      down vote

      favorite









      up vote
      -1
      down vote

      favorite











      As shown in the image, the top right corner specifies the pattern in which the center grid is to be filled with colored boxes(could be more than 2 colors).



      Image of Activity Area



      we are starting from (0,0) bottom left corner. We can't move outside the activity area. Please suggest an optimized algorithm that takes care of following edge cases and fill the grid(White area) in minimum possible time:




      • Grid could have already wrongly filled boxes, which should be placed somewhere else before filling that position.

      • We can't move over a box but we can pick it up.

      • We could be blocked from all sides by boxes so we need take care of that.










      share|improve this question









      New contributor




      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      As shown in the image, the top right corner specifies the pattern in which the center grid is to be filled with colored boxes(could be more than 2 colors).



      Image of Activity Area



      we are starting from (0,0) bottom left corner. We can't move outside the activity area. Please suggest an optimized algorithm that takes care of following edge cases and fill the grid(White area) in minimum possible time:




      • Grid could have already wrongly filled boxes, which should be placed somewhere else before filling that position.

      • We can't move over a box but we can pick it up.

      • We could be blocked from all sides by boxes so we need take care of that.







      algorithm matrix grid adjacency-matrix game-theory






      share|improve this question









      New contributor




      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      share|improve this question









      New contributor




      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      share|improve this question




      share|improve this question








      edited Nov 21 at 15:09









      M Oehm

      21.3k31731




      21.3k31731






      New contributor




      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked Nov 21 at 14:31









      Pandey

      1




      1




      New contributor




      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      Pandey is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





























          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });






          Pandey is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414333%2foptimized-algorithm-to-place-objects-in-a-nxm-grid-according-to-given-pattern%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown






























          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          Pandey is a new contributor. Be nice, and check out our Code of Conduct.










           

          draft saved


          draft discarded


















          Pandey is a new contributor. Be nice, and check out our Code of Conduct.













          Pandey is a new contributor. Be nice, and check out our Code of Conduct.












          Pandey is a new contributor. Be nice, and check out our Code of Conduct.















           


          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53414333%2foptimized-algorithm-to-place-objects-in-a-nxm-grid-according-to-given-pattern%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Contact image not getting when fetch all contact list from iPhone by CNContact

          count number of partitions of a set with n elements into k subsets

          A CLEAN and SIMPLE way to add appendices to Table of Contents and bookmarks