{"id":2184,"date":"2020-07-29T08:31:56","date_gmt":"2020-07-29T08:31:56","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=2184"},"modified":"2022-03-30T22:55:17","modified_gmt":"2022-03-30T22:55:17","slug":"rahul-and-puzzle-world","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/","title":{"rendered":"RAHUL AND PUZZLE WORLD"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\" alt=\"\" \/><\/p>\n<h3>CONCEPTS USED:<\/h3>\n<blockquote>\n<p>Dynamic programming<\/p>\n<\/blockquote>\n<h3>DIFFICULTY LEVEL:<\/h3>\n<blockquote>\n<p>Hard<\/p>\n<\/blockquote>\n<h3>PROBLEM STATEMENT(SIMPLIFIED):<\/h3>\n<blockquote>\n<p>For each query , give the size of maximum square with all pictures i.e. all ones from the given matrix of 1s and 0s.<\/p>\n<\/blockquote>\n<h4>For Example :<\/h4>\n<pre><code>5 5\n0 0 0 0 0\n1 1 1 1 0\n1 1 1 1 0\n1 1 1 1 1\n0 0 0 0 0\n5\n4 4 5 4\n3 3 3 4\n3 1 3 3\n2 3 3 4\n2 1 5 4\nFor the 1st query, from (4,4) to (5,4) a square of size 1 is formed with all 1\u2032s.\nFor the 2nd query, from (3,3) to (3,4) a square of size 1 is formed with all 1\u2032s.\nFor the 3rd query, from (3,1) to (3,3) a square of size 1 is formed with all 1\u2032s.\nFor the 4rth query, from (2,3) to (3,4) a square of size 2 is formed with all 1\u2032s.\nFor the 5th query, from (2,1) to (5,4) a square of size 3 is formed with all 1\u2032s.<\/code><\/pre>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/dynamic-programming\/RAHPZ\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h3>SOLVING APPROACH:<\/h3>\n<blockquote>\n<p>First lets calculate dp[i][j] \u2014 maximum square ending in cell ( i, j). For each cell if input matrix contain 0 then dp[i][j]\u2009=\u20090 else dp [i][j]\u2009=\u2009min( dp[i\u2009-\u20091][j\u2009-\u20091], dp[i\u22121][j], dp[i][j\u22121])\u2009+\u20091.<\/p>\n<p>We will use binary search to find the answer. Lets fix some value x. For each square ( i, j)..( i\u2009+\u2009x\u2009-\u20091, j\u2009+\u2009x\u2009-\u20091) we need to find maximum and compare it to x. To find maximum we can use 2D sparse table.<\/p>\n<\/blockquote>\n<p><strong>In simple words-<\/strong><\/p>\n<blockquote>\n<ol>\n<li>Give you a 0-1 matrix, then Q queries, each time you query a rectangular area, the maximum length of a square is the largest one.<\/li>\n<li>First consider Dp, <code>dp[i][j]<\/code> indicates that the <code>(i,j)<\/code> position is the lower right corner, and the maximum square side length is, obviously <code>dp[i][j]<\/code> = <code>min(dp[i-1][j ], dp[j][i-1], dp[i-1][j-1])+1<\/code>.<\/li>\n<li>Then, after we made this decision, what would we do?<\/li>\n<li>Direct two-point answer, assuming that our two-point answer is mid, obviously the point in the upper left corner of this rectangular area is the waste point, and then query the maximum value of the remaining points, whether it is greater than or equal to m.<\/li>\n<li>This can be done with binary search.<\/li>\n<li>We will use binary search to find the answer. Let&#8217;s fix some value x. For each square ( i, j)..( i\u2009+\u2009x\u2009-\u20091, j\u2009+\u2009x\u2009-\u20091) we need to find the maximum and compare it to x. To find the maximum we can use a 2D sparse table.<\/li>\n<\/ol>\n<\/blockquote>\n<h3>SOLUTIONS:<\/h3>\n<p>\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_2185 {\r\n\toverflow:hidden;\r\n\tdisplay:block;\r\n\twidth:100%;\r\n\tborder:0px solid #ddd;\r\n\tmargin-bottom:30px;\r\n\t}\r\n\r\n#tab_container_2185 .tab-content{\r\n\tpadding:20px;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n\tmargin-top: 0px;\r\n\tbackground-color:#ffffff !important;\r\n\tcolor: #000000 !important;\r\n\tfont-size:16px !important;\r\n\tfont-family: Open Sans !important;\r\n\t\r\n\t\tborder: 1px solid #e6e6e6 !important;\r\n\t}\r\n#tab_container_2185 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_2185 .wpsm_nav-tabs > li.active > a, #tab_container_2185 .wpsm_nav-tabs > li.active > a:hover, #tab_container_2185 .wpsm_nav-tabs > li.active > a:focus {\r\n\tcolor: #000000 !important;\r\n\tcursor: default;\r\n\tbackground-color: #ffffff !important;\r\n\tborder: 1px solid #e6e6e6 !important;\r\n}\r\n\r\n#tab_container_2185 .wpsm_nav-tabs > li > a {\r\n    margin-right: 0px !important; \r\n    line-height: 1.42857143 !important;\r\n    border: 1px solid #d5d5d5 !important;\r\n    border-radius: 0px 0px 0 0 !important; \r\n\tbackground-color: #e8e8e8 !important;\r\n\tcolor: #000000 !important;\r\n\tpadding: 15px 18px 15px 18px !important;\r\n\ttext-decoration: none !important;\r\n\tfont-size: 14px !important;\r\n\ttext-align:center !important;\r\n\tfont-family: Open Sans !important;\r\n}\r\n#tab_container_2185 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_2185 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_2185 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_2185 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_2185 .wpsm_nav-tabs > li > a:hover , #tab_container_2185 .wpsm_nav-tabs > li > a:focus {\r\n    color: #000000 !important;\r\n    background-color: #e8e8e8 !important;\r\n\tborder: 1px solid #d5d5d5 !important;\r\n\t\r\n}\r\n#tab_container_2185 .wpsm_nav-tabs > li > a .fa{\r\n\r\nmargin-right:5px !important;\r\n\r\nmargin-left:5px !important;\r\n\r\n\r\n}\r\n\r\n\t\t#tab_container_2185 .wpsm_nav-tabs a{\r\n\t\t\tbackground-image: none;\r\n\t\t\tbackground-position: 0 0;\r\n\t\t\tbackground-repeat: repeat-x;\r\n\t\t}\r\n\t\t\t\r\n\r\n\r\n#tab_container_2185 .wpsm_nav-tabs > li {\r\n    float: left;\r\n    margin-bottom: -1px !important;\r\n\tmargin-right:0px !important; \r\n}\r\n\r\n\r\n#tab_container_2185 .tab-content{\r\noverflow:hidden !important;\r\n}\r\n\r\n\r\n@media (min-width: 769px) {\r\n\r\n\t#tab_container_2185 .wpsm_nav-tabs > li{\r\n\t\tfloat:left !important ;\r\n\t\t\t\tmargin-right:-1px !important;\r\n\t\t\t\t\t}\r\n\t#tab_container_2185 .wpsm_nav-tabs{\r\n\t\tfloat:none !important;\r\n\t\tmargin:0px !important;\r\n\t}\r\n\r\n\t#tab_container_2185 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2185 .wpsm_nav{\r\n\t\t\t}\r\n\r\n}\r\n\r\n\r\n\r\n@media (max-width: 768px) {\r\n\t#tab_container_2185 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2185 .wpsm_nav{\r\n\t\t\t}\r\n}\r\n\r\n\r\n\t.wpsm_nav-tabs li:before{\r\n\t\tdisplay:none !important;\r\n\t}\r\n\r\n\t@media (max-width: 768px) {\r\n\t\t\t\t\r\n\t\t\t\t.wpsm_nav-tabs{\r\n\t\t\tmargin-left:0px !important;\r\n\t\t\tmargin-right:0px !important; \r\n\t\t\t\r\n\t\t}\r\n\t\t\t\t#tab_container_2185 .wpsm_nav-tabs > li{\r\n\t\t\tfloat:none !important;\r\n\t\t}\r\n\t\t\t\r\n\t}\t\t\t\t<\/style>\r\n\t\t\t\t<div id=\"tab_container_2185\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_2185\">\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  class=\"active\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_2185_1\" aria-controls=\"tabs_desc_2185_1\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_2185_2\" aria-controls=\"tabs_desc_2185_2\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>C++<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t<li role=\"presentation\"  onclick=\"do_resize()\">\r\n\t\t\t\t\t\t\t\t<a href=\"#tabs_desc_2185_3\" aria-controls=\"tabs_desc_2185_3\" role=\"tab\" data-toggle=\"tab\">\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<i class=\"fa fa-code\"><\/i> \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t<span>Java<\/span>\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t<\/a>\r\n\t\t\t\t\t\t\t<\/li>\r\n\t\t\t\t\t\t\t\t\t\t\t <\/ul>\r\n\r\n\t\t\t\t\t  <!-- Tab panes -->\r\n\t\t\t\t\t  <div class=\"tab-content\" id=\"tab-content_2185\">\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane  in active \" id=\"tabs_desc_2185_1\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"c\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"c\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n #include &lt;stdio.h&gt;\r\n    #define N 1004\r\n     #define M 11\r\n     int max(int x,int y)\r\n     {\r\n       if(x&gt;y)return x;\r\n       return y;\r\n     }\r\n     int min(int x,int y)\r\n     {\r\n       if(x&lt;y)\r\n       return x;\r\n       return y;\r\n     }\r\n    int mx[N][N][M][M],dp[N][N],n,m,q,f[N][N],a,b,c,d;\r\n    int rmq(int a,int b,int c,int d)\r\n    {\r\n    int s1=0,s2=0;\r\n    while((c-a)&gt;&gt;s1)s1++;\r\n    while((d-b)&gt;&gt;s2)s2++;\r\n    s1--,s2--;\r\n    if(s1==-1)s1++;if(s2==-1)s2++;\r\n    return max(max(mx[a][b][s1][s2],mx[c-(1&lt;&lt;s1)+1][b][s1][s2]),max(mx[a][d-(1&lt;&lt;s2)+1][s1][s2],mx[c-(1&lt;&lt;s1)+1][d-(1&lt;&lt;s2)+1][s1][s2]));\r\n    }\r\n     int main()\r\n    {\r\n    scanf(&quot;%d%d&quot;,&amp;n,&amp;m);\r\n    \/\/in&gt;&gt;n&gt;&gt;m;\r\n    for(int i=1;i&lt;=n;i++)\r\n        for(int j=1;j&lt;=m;j++)\r\n        {\r\n            scanf(&quot;%d&quot;,&amp;f[i][j]);\r\n            \/\/in&gt;&gt;f[i][j];\r\n            if(f[i][j])dp[i][j]=min(dp[i-1][j],min(dp[i][j-1],dp[i-1][j-1]))+1;\r\n        }\r\n    for(int i=1;i&lt;=n;i++)\r\n        for(int j=1;j&lt;=m;j++)\r\n            mx[i][j][0][0]=dp[i][j];\r\n    for(int k=0;k&lt;=10;k++)\r\n        for(int l=0;l&lt;=10;l++)\r\n            for(int i=1;i+(1&lt;&lt;k)-1&lt;=n;i++)\r\n                for(int j=1;j+(1&lt;&lt;l)-1&lt;=m;j++)\r\n                    if(k)\r\n                        mx[i][j][k][l]=max(mx[i][j][k-1][l],mx[i+(1&lt;&lt;(k-1))][j][k-1][l]);\r\n                    else if(l)\r\n                        mx[i][j][k][l]=max(mx[i][j][k][l-1],mx[i][j+(1&lt;&lt;(l-1))][k][l-1]);\r\n    scanf(&quot;%d&quot;,&amp;q);\r\n    \/\/in&gt;&gt;q;\r\n    while(q--)\r\n    {\r\n        scanf(&quot;%d%d%d%d&quot;,&amp;a,&amp;b,&amp;c,&amp;d);\r\n        \/\/in&gt;&gt;a&gt;&gt;b&gt;&gt;c&gt;&gt;d;\r\n        int lb=1,rb=min(c-a,d-b)+1,ans=0;\r\n        while(lb&lt;=rb)\r\n        {\r\n            int mid=(lb+rb)&gt;&gt;1;\r\n            if(rmq(a+mid-1,b+mid-1,c,d)&gt;=mid)ans=mid,lb=mid+1;\r\n            else rb=mid-1;\r\n        }\r\n        printf(&quot;%d&#92;n&quot;,ans);\r\n        \/\/out&lt;&lt;ans&lt;&lt;&quot;&#92;n&quot;;\r\n    }\r\n    }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\r\n\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_2185_2\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"cpp\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"cpp\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\n#include&lt;bits\/stdc++.h&gt;\r\n    #include&lt;cstring&gt;\r\n     #include&lt;algorithm&gt;\r\n    #include &lt;iosfwd&gt;\r\n\r\n    using namespace std;\r\n    #define N 1004\r\n     #define M 11\r\n    int mx[N][N][M][M],dp[N][N],n,m,q,f[N][N],a,b,c,d;\r\n     int rmq(int a,int b,int c,int d)\r\n    {\r\n    int s1=0,s2=0;\r\n    while((c-a)&gt;&gt;s1)s1++;\r\n    while((d-b)&gt;&gt;s2)s2++;\r\n    s1--,s2--;\r\n    if(s1==-1)s1++;if(s2==-1)s2++;\r\n    return max(max(mx[a][b][s1][s2],mx[c-(1&lt;&lt;s1)+1][b][s1][s2]),max(mx[a][d-(1&lt;&lt;s2)+1][s1][s2],mx[c-(1&lt;&lt;s1)+1][d-(1&lt;&lt;s2)+1][s1][s2]));\r\n    }\r\n    int main()\r\n    {\r\n    \/*ifstream in;\r\n    ofstream out;\r\n    in.open(R&quot;(D:&#92;PrepByte&#92;Coding Platform&#92;Dynamic Programming&#92;29-02-2020&#92;RAHPZ&#92;tc&#92;RAHPZ_12.in)&quot;);\r\n    out.open(R&quot;(D:&#92;PrepByte&#92;Coding Platform&#92;Dynamic Programming&#92;29-02-2020&#92;RAHPZ&#92;tc&#92;RAHPZ_12.out)&quot;);*\/\r\n    scanf(&quot;%d%d&quot;,&amp;n,&amp;m);\r\n    \/\/in&gt;&gt;n&gt;&gt;m;\r\n    for(int i=1;i&lt;=n;i++)\r\n        for(int j=1;j&lt;=m;j++)\r\n        {\r\n            scanf(&quot;%d&quot;,&amp;f[i][j]);\r\n            \/\/in&gt;&gt;f[i][j];\r\n            if(f[i][j])dp[i][j]=min(dp[i-1][j],min(dp[i][j-1],dp[i-1][j-1]))+1;\r\n        }\r\n    for(int i=1;i&lt;=n;i++)\r\n        for(int j=1;j&lt;=m;j++)\r\n            mx[i][j][0][0]=dp[i][j];\r\n    for(int k=0;k&lt;=10;k++)\r\n        for(int l=0;l&lt;=10;l++)\r\n            for(int i=1;i+(1&lt;&lt;k)-1&lt;=n;i++)\r\n                for(int j=1;j+(1&lt;&lt;l)-1&lt;=m;j++)\r\n                    if(k)\r\n                        mx[i][j][k][l]=max(mx[i][j][k-1][l],mx[i+(1&lt;&lt;(k-1))][j][k-1][l]);\r\n                    else if(l)\r\n                        mx[i][j][k][l]=max(mx[i][j][k][l-1],mx[i][j+(1&lt;&lt;(l-1))][k][l-1]);\r\n    scanf(&quot;%d&quot;,&amp;q);\r\n    \/\/in&gt;&gt;q;\r\n    while(q--)\r\n    {\r\n        scanf(&quot;%d%d%d%d&quot;,&amp;a,&amp;b,&amp;c,&amp;d);\r\n        \/\/in&gt;&gt;a&gt;&gt;b&gt;&gt;c&gt;&gt;d;\r\n        int lb=1,rb=min(c-a,d-b)+1,ans=0;\r\n        while(lb&lt;=rb)\r\n        {\r\n            int mid=(lb+rb)&gt;&gt;1;\r\n            if(rmq(a+mid-1,b+mid-1,c,d)&gt;=mid)ans=mid,lb=mid+1;\r\n            else rb=mid-1;\r\n        }\r\n        printf(&quot;%d&#92;n&quot;,ans);\r\n        \/\/out&lt;&lt;ans&lt;&lt;&quot;&#92;n&quot;;\r\n    }\r\n    }\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_2185_3\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"Java\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"Java\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\nclass Matrix \r\n{\r\n\t\/\/ method for Maximum size square sub-matrix with all 1s\r\n\tstatic void printMaxSubSquare(int M[][])\r\n\t{\r\n\t\tint i,j;\r\n\t\tint R = M.length;\t\t \/\/no of rows in M[][]\r\n\t\tint C = M[0].length;\t \/\/no of columns in M[][]\r\n\t\tint S[][] = new int[R][C];\t\r\n\t\t\r\n\t\tint max_of_s, max_i, max_j;\r\n\t\r\n\t\t\/* Set first column of S[][]*\/\r\n\t\tfor(i = 0; i &lt; R; i++)\r\n\t\t\tS[i][0] = M[i][0];\r\n\t\r\n\t\t\/* Set first row of S[][]*\/\r\n\t\tfor(j = 0; j &lt; C; j++)\r\n\t\t\tS[0][j] = M[0][j];\r\n\t\t\r\n\t\t\/* Construct other entries of S[][]*\/\r\n\t\tfor(i = 1; i &lt; R; i++)\r\n\t\t{\r\n\t\t\tfor(j = 1; j &lt; C; j++)\r\n\t\t\t{\r\n\t\t\t\tif(M[i][j] == 1)\r\n\t\t\t\t\tS[i][j] = Math.min(S[i][j-1],\r\n\t\t\t\t\t\t\t\tMath.min(S[i-1][j], S[i-1][j-1])) + 1;\r\n\t\t\t\telse\r\n\t\t\t\t\tS[i][j] = 0;\r\n\t\t\t}\r\n\t\t}\t\r\n\t\t\r\n\t\t\/* Find the maximum entry, and indexes of maximum entry\r\n\t\t\tin S[][] *\/\r\n\t\tmax_of_s = S[0][0]; max_i = 0; max_j = 0;\r\n\t\tfor(i = 0; i &lt; R; i++)\r\n\t\t{\r\n\t\t\tfor(j = 0; j &lt; C; j++)\r\n\t\t\t{\r\n\t\t\t\tif(max_of_s &lt; S[i][j])\r\n\t\t\t\t{\r\n\t\t\t\t\tmax_of_s = S[i][j];\r\n\t\t\t\t\tmax_i = i;\r\n\t\t\t\t\tmax_j = j;\r\n\t\t\t\t}\t\r\n\t\t\t}\t\t\t\t\r\n\t\t}\t\r\n\t\t\r\n\t\tSystem.out.println(&quot;Maximum size sub-matrix is: &quot;);\r\n\t\tfor(i = max_i; i &gt; max_i - max_of_s; i--)\r\n\t\t{\r\n\t\t\tfor(j = max_j; j &gt; max_j - max_of_s; j--)\r\n\t\t\t{\r\n\t\t\t\tSystem.out.print(M[i][j] + &quot; &quot;);\r\n\t\t\t}\r\n\t\t\tSystem.out.println();\r\n\t\t}\r\n\t}\r\n\t\r\n\t\/\/ Driver program\r\n\tpublic static void main(String[] args)\r\n\t{\r\n\t\tint M[][] = {{0, 1, 1, 0, 1},\r\n\t\t\t\t\t{1, 1, 0, 1, 0},\r\n\t\t\t\t\t{0, 1, 1, 1, 0},\r\n\t\t\t\t\t{1, 1, 1, 1, 0},\r\n\t\t\t\t\t{1, 1, 1, 1, 1},\r\n\t\t\t\t\t{0, 0, 0, 0, 0}};\r\n\t\t\t\r\n\t\tprintMaxSubSquare(M);\r\n\t}\r\n\r\n}\r\n\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\r\n\t\t\t\t\t\t <\/div>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t <\/div>\r\n\t\t\t\t\t \r\n\t\t\t\t <\/div>\r\n <script>\r\n\t\tjQuery(function () {\r\n\t\t\tjQuery('#myTab_2185 a:first').tab('show')\r\n\t\t});\r\n\t\t\r\n\t\t\t\tjQuery(function(){\r\n\t\t\tvar b=\"fadeIn\";\r\n\t\t\tvar c;\r\n\t\t\tvar a;\r\n\t\t\td(jQuery(\"#myTab_2185 a\"),jQuery(\"#tab-content_2185\"));function d(e,f,g){\r\n\t\t\t\te.click(function(i){\r\n\t\t\t\t\ti.preventDefault();\r\n\t\t\t\t\tjQuery(this).tab(\"show\");\r\n\t\t\t\t\tvar h=jQuery(this).data(\"easein\");\r\n\t\t\t\t\tif(c){c.removeClass(a);}\r\n\t\t\t\t\tif(h){f.find(\"div.active\").addClass(\"animated \"+h);a=h;}\r\n\t\t\t\t\telse{if(g){f.find(\"div.active\").addClass(\"animated \"+g);a=g;}else{f.find(\"div.active\").addClass(\"animated \"+b);a=b;}}c=f.find(\"div.active\");\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t\t\r\n\r\n\t\tfunction do_resize(){\r\n\r\n\t\t\tvar width=jQuery( '.tab-content .tab-pane iframe' ).width();\r\n\t\t\tvar height=jQuery( '.tab-content .tab-pane iframe' ).height();\r\n\r\n\t\t\tvar toggleSize = true;\r\n\t\t\tjQuery('iframe').animate({\r\n\t\t\t    width: toggleSize ? width : 640,\r\n\t\t\t    height: toggleSize ? height : 360\r\n\t\t\t  }, 250);\r\n\r\n\t\t\t  toggleSize = !toggleSize;\r\n\t\t}\r\n\r\n\r\n\t<\/script>\r\n\t\t\t\t\r\n\t\t\t<br \/>\n[forminator_quiz id=&quot;2186&quot;]<\/p>\n<p>This article tried to discuss the concept of <strong>Dynamic programming<\/strong>. Hope this blog helps you understand and solve the problem. To practice more problems on Dynamic programming you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>CONCEPTS USED: Dynamic programming DIFFICULTY LEVEL: Hard PROBLEM STATEMENT(SIMPLIFIED): For each query , give the size of maximum square with all pictures i.e. all ones from the given matrix of 1s and 0s. For Example : 5 5 0 0 0 0 0 1 1 1 1 0 1 1 1 1 0 1 1 [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[126],"tags":[],"class_list":["post-2184","post","type-post","status-publish","format-standard","hentry","category-dynamic-programming"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Dynamic Programming | Rahul and Puzzle World | Prepbytes<\/title>\n<meta name=\"description\" content=\"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Dynamic Programming | Rahul and Puzzle World | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\" \/>\n<meta property=\"og:site_name\" content=\"PrepBytes Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prepbytes0211\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-07-29T08:31:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-30T22:55:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\" \/>\n<meta name=\"author\" content=\"Prepbytes\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Prepbytes\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"RAHUL AND PUZZLE WORLD\",\"datePublished\":\"2020-07-29T08:31:56+00:00\",\"dateModified\":\"2022-03-30T22:55:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\"},\"wordCount\":324,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\",\"articleSection\":[\"Dynamic programming\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\",\"name\":\"Dynamic Programming | Rahul and Puzzle World | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\",\"datePublished\":\"2020-07-29T08:31:56+00:00\",\"dateModified\":\"2022-03-30T22:55:17+00:00\",\"description\":\"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dynamic programming\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/dynamic-programming\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"RAHUL AND PUZZLE WORLD\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\/\/43.205.93.38\/#website\",\"url\":\"http:\/\/43.205.93.38\/\",\"name\":\"PrepBytes Blog\",\"description\":\"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING\",\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\/\/43.205.93.38\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"http:\/\/43.205.93.38\/#organization\",\"name\":\"Prepbytes\",\"url\":\"http:\/\/43.205.93.38\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"contentUrl\":\"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp\",\"width\":160,\"height\":160,\"caption\":\"Prepbytes\"},\"image\":{\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/prepbytes0211\/\",\"https:\/\/www.instagram.com\/prepbytes\/\",\"https:\/\/www.linkedin.com\/company\/prepbytes\/\",\"https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA\"]},{\"@type\":\"Person\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\",\"name\":\"Prepbytes\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g\",\"caption\":\"Prepbytes\"},\"url\":\"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Dynamic Programming | Rahul and Puzzle World | Prepbytes","description":"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/","og_locale":"en_US","og_type":"article","og_title":"Dynamic Programming | Rahul and Puzzle World | Prepbytes","og_description":"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.","og_url":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-07-29T08:31:56+00:00","article_modified_time":"2022-03-30T22:55:17+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png","type":"","width":"","height":""}],"author":"Prepbytes","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Prepbytes","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"RAHUL AND PUZZLE WORLD","datePublished":"2020-07-29T08:31:56+00:00","dateModified":"2022-03-30T22:55:17+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/"},"wordCount":324,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png","articleSection":["Dynamic programming"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/","url":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/","name":"Dynamic Programming | Rahul and Puzzle World | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png","datePublished":"2020-07-29T08:31:56+00:00","dateModified":"2022-03-30T22:55:17+00:00","description":"We Will Use Binary Search to Find the Answer. Lets Fix Some Value X. for Each Square ( I, J)..( I\u2009+\u2009x\u2009-\u20091, J\u2009+\u2009x\u2009-\u20091) We Need to Find Maximum and Compare it to X.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181753526-Article_466.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/rahul-and-puzzle-world\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Dynamic programming","item":"https:\/\/prepbytes.com\/blog\/category\/dynamic-programming\/"},{"@type":"ListItem","position":3,"name":"RAHUL AND PUZZLE WORLD"}]},{"@type":"WebSite","@id":"http:\/\/43.205.93.38\/#website","url":"http:\/\/43.205.93.38\/","name":"PrepBytes Blog","description":"ONE-STOP RESOURCE FOR EVERYTHING RELATED TO CODING","publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/43.205.93.38\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"http:\/\/43.205.93.38\/#organization","name":"Prepbytes","url":"http:\/\/43.205.93.38\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/","url":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","contentUrl":"https:\/\/blog.prepbytes.com\/wp-content\/uploads\/2025\/07\/uzxxllgloialmn9mhwfe.webp","width":160,"height":160,"caption":"Prepbytes"},"image":{"@id":"http:\/\/43.205.93.38\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/prepbytes0211\/","https:\/\/www.instagram.com\/prepbytes\/","https:\/\/www.linkedin.com\/company\/prepbytes\/","https:\/\/www.youtube.com\/channel\/UC0xGnHDrjUM1pDEK2Ka5imA"]},{"@type":"Person","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e","name":"Prepbytes","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/232042cd1a1ea0e982c96d2a2ec93fb70a8e864e00784491231e7bfe5a9e06b5?s=96&d=mm&r=g","caption":"Prepbytes"},"url":"https:\/\/prepbytes.com\/blog\/author\/gourav-jaincollegedekho-com\/"}]}},"_links":{"self":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2184","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/comments?post=2184"}],"version-history":[{"count":8,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2184\/revisions"}],"predecessor-version":[{"id":8390,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2184\/revisions\/8390"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=2184"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=2184"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=2184"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}