{"id":2208,"date":"2020-06-14T16:07:02","date_gmt":"2020-06-14T16:07:02","guid":{"rendered":"https:\/\/blog.prepbytes.com\/?p=2208"},"modified":"2022-03-22T09:49:02","modified_gmt":"2022-03-22T09:49:02","slug":"possible-attack-2","status":"publish","type":"post","link":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/","title":{"rendered":"Possible Attack-2"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png\" alt=\"\" \/><\/p>\n<h3>Concepts Used<\/h3>\n<blockquote>\n<p>Back Tracking<\/p>\n<\/blockquote>\n<h3>Difficulty Level<\/h3>\n<blockquote>\n<p>Hard<\/p>\n<\/blockquote>\n<h3>Problem Statement :<\/h3>\n<blockquote>\n<p>Given <code>N<\/code> integers print all distinct combinations.<\/p>\n<\/blockquote>\n<p><a href=\"https:\/\/mycode.prepbytes.com\/problems\/back-tracking\/PERM2\" title=\"Go to mycode.prepbytes.com\" target=\"_blank\" rel=\"noopener noreferrer\"><u><strong><\/strong><\/u><\/a><\/p>\n<h3>Solution Approach :<\/h3>\n<h4>Introduction :<\/h4>\n<blockquote>\n<p>Idea is to swap all the values one-by-one and keep track of the values used. In a set of <code>n<\/code> elements with <code>d<\/code> similar elements there are <code>n!\/m!<\/code> different permutations. For example, there are <code>3<\/code> permutations of the set {1,1,2}, namely [1,1,2], [1,2,1], [2,1,1].<\/p>\n<\/blockquote>\n<p><img decoding=\"async\" src=\"https:\/\/prepbytes.com\/blog\/wp-content\/uploads\/2020\/06\/perm-2.png\" alt=\"\" \/><\/p>\n<h4>Description:<\/h4>\n<blockquote>\n<p>We will use backtracking to solve the above problem.<br \/>\n<strong>Backtracking<\/strong> is the approach to solve the problem by testing all possible answers (by breaking the problems into subproblems). If any subproblem does not fit the given constraint then we discard the complete subproblem (backtrack), moves a step back then try other remaining possible combinations. Backtracking algorithm is generally exponential in time.<br \/>\nSince it has duplicate items as well, we will keep track of the items already used, with the help of <code>used[]<\/code> array. Every time we see an unsed item we add it to <code>used[]<\/code> array. Now we will swap every index of the array, breaking our problem into subproblems by recursively calling our function for the next index, when the index becomes equal to the size of the array we print the current combination, every time we swap indices we make sure to revert the changes by swapping them back again to try another combinations (backtrack).<\/p>\n<\/blockquote>\n<h4>Algorithm :<\/h4>\n<p><strong>backtracking():<\/strong><\/p>\n<ol>\n<li>If <code>index == n<\/code>, print the current combination.<\/li>\n<li>else, for every <code>k= index<\/code> to <code>n-1<\/code> :<br \/>\n<blockquote>\n<ul>\n<li>if <code>k<\/code> is unused, add <code>k<\/code> to the used[] array<\/li>\n<li>swap(index,k)<\/li>\n<li>call backtrack(arr,index+1,n)<\/li>\n<li>swap(index,k) , (Backtrack step).<\/li>\n<\/ul>\n<\/blockquote>\n<\/li>\n<\/ol>\n<h3>Complexity Analysis :<\/h3>\n<blockquote>\n<p>Total number of permutations are, as discussed earlier, <code>n!<\/code>, and it takes <code>O(n)<\/code> time to print each permutation. Can you guess the final <strong>time complexity<\/strong>?<\/p>\n<\/blockquote>\n<h3>Solutions:<\/h3>\n\t\t\t\t\t\t<style>\r\n\t\t\t\t\r\n\t\t\t\t\t#tab_container_2209 {\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_2209 .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_2209 .wpsm_nav-tabs {\r\n    border-bottom: 0px solid #ddd;\r\n}\r\n#tab_container_2209 .wpsm_nav-tabs > li.active > a, #tab_container_2209 .wpsm_nav-tabs > li.active > a:hover, #tab_container_2209 .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_2209 .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_2209 .wpsm_nav-tabs > li > a:focus {\r\noutline: 0px !important;\r\n}\r\n\r\n#tab_container_2209 .wpsm_nav-tabs > li > a:before {\r\n\tdisplay:none !important;\r\n}\r\n#tab_container_2209 .wpsm_nav-tabs > li > a:after {\r\n\tdisplay:none !important ;\r\n}\r\n#tab_container_2209 .wpsm_nav-tabs > li{\r\npadding:0px !important ;\r\nmargin:0px;\r\n}\r\n\r\n#tab_container_2209 .wpsm_nav-tabs > li > a:hover , #tab_container_2209 .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_2209 .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_2209 .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_2209 .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_2209 .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_2209 .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_2209 .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_2209 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2209 .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_2209 .wpsm_nav-tabs > li {\r\n\t\t\t\t\r\n\t}\r\n\t#tab_container_2209 .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_2209 .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_2209\" >\r\n\t \r\n\t\t\t\t\t<ul class=\"wpsm_nav wpsm_nav-tabs\" role=\"tablist\" id=\"myTab_2209\">\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_2209_1\" aria-controls=\"tabs_desc_2209_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_2209_2\" aria-controls=\"tabs_desc_2209_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_2209_3\" aria-controls=\"tabs_desc_2209_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\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_2209_4\" aria-controls=\"tabs_desc_2209_4\" 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>Python<\/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_2209\">\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_2209_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#include&lt;stdbool.h&gt;\r\n \r\nint cmpfunc (const void * a, const void * b) {\r\n   return ( *(int*)a - *(int*)b );\r\n}\r\nvoid swap(int *x, int *y)\r\n{\r\n    int tmp = *x;\r\n    *x = *y;\r\n    *y = tmp;\r\n}\r\nbool checkduplicate(int t[], int n,int id){\r\n            for(int i=0; i&lt;n; i++)\r\n                if(t[i] == id) return true;\r\n            return false;\r\n        }\r\n \r\n    void backtracking(int nums[],int n, int index){\r\n            if(index == n)\r\n               {\r\n               \t for(int i=0;i&lt;n;i++)\r\n               \t\tprintf(&quot;%d &#92;n&quot;,i);\r\n               }\r\n \r\n            int t[n];\r\n            for(int i=index; i&lt;n; i++){\r\n                if(checkduplicate(t,n, nums[i]))          \/\/ make sure nums[i] is not used\r\n                    continue;\r\n                t[i] = nums[i];                   \/\/ put all used items into vector t\r\n                swap(nums[i], nums[index]);\r\n                backtracking( nums,n, index+1);\r\n                swap(nums[i], nums[index]);\r\n            }\r\n        }\r\n \r\n    int main()\r\n    {  \r\n \r\n      int n;\r\n      scanf(&quot;%d&quot;,&amp;n);\r\n      int v[n];\r\n      int x;\r\n      for(int i=0;i&lt;n;i++)\r\n      {\r\n        scanf(&quot;%d&quot;,&amp;v[i]);\r\n \r\n      }\r\n      qsort(v, n, sizeof(int), cmpfunc);\r\n \r\n      backtracking(v,n, 0);\r\n \r\n \r\n    return 0;\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_2209_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    using namespace std;\r\n \r\n    bool checkduplicate(vector&lt;int&gt; t, int n){\r\n            for(int i=0; i&lt;t.size(); i++)\r\n                if(t[i] == n) return true;\r\n            return false;\r\n        }\r\n \r\n    void backtracking( vector&lt;int&gt; nums, int index){\r\n            if(index == nums.size())\r\n               {\r\n                 for(auto i:nums)\r\n                  cout&lt;&lt;i&lt;&lt;&quot; &quot;;\r\n                  cout&lt;&lt;endl;\r\n               }\r\n \r\n            vector&lt;int&gt; t;\r\n            for(int i=index; i&lt;nums.size(); i++){\r\n                if(checkduplicate(t, nums[i]))          \/\/ make sure nums[i] is not used\r\n                    continue;\r\n                t.push_back(nums[i]);                   \/\/ put all used items into vector t\r\n                swap(nums[i], nums[index]);\r\n                backtracking( nums, index+1);\r\n                swap(nums[i], nums[index]);\r\n            }\r\n        }\r\n \r\n    int main()\r\n    {  \r\n \r\n        int n;\r\n      cin&gt;&gt;n;\r\n      vector&lt;int&gt; v(n);\r\n      int x;\r\n      for(int i=0;i&lt;n;i++)\r\n      {\r\n        cin&gt;&gt;v[i];\r\n \r\n      }\r\n      sort(v.begin(),v.end());\r\n \r\n        backtracking(v, 0);\r\n \r\n \r\n    return 0;\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\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_2209_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\nimport java.util.*;\r\nimport java.io.*;\r\npublic class Main {\r\n  static ArrayList&lt;String&gt; Sarr=new ArrayList&lt;String&gt;();\r\n  public static void main(String args[]) throws IOException {\r\n    Scanner sc=new Scanner(System.in);\r\n    int size=sc.nextInt();\r\n    int[] arr=new int[size];\r\n    int[] freq=new int[52];\r\n    for(int i=0;i&lt;size;i++){\r\n      arr[i]=sc.nextInt();\r\n      freq[arr[i]]++;\r\n    }\r\n    Arrays.sort(arr);\r\n    backTracking(freq,arr,&quot;&quot;,0);\r\n  }\r\n  static void backTracking(int[] freq,int[] arr,String res,int count){\r\n    if(count==arr.length){\r\n      if(!Sarr.contains(res)){\r\n        System.out.println(res);\r\n        Sarr.add(res);\r\n      }\r\n    }\r\n    else{\r\n      for(int i=0;i&lt;arr.length;i++){\r\n        if(freq[arr[i]]&gt;0){\r\n          freq[arr[i]]--;\r\n          backTracking(freq,arr,res+arr[i]+&quot; &quot;,count+1);\r\n          freq[arr[i]]++;\r\n        }\r\n      }\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\t\t\t\t\t <div role=\"tabpanel\" class=\"tab-pane \" id=\"tabs_desc_2209_4\">\r\n\t\t\t\t\t\t\t\t<!-- wp:enlighter\/codeblock {\"language\":\"Python\"} -->\r\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"Python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">\r\ndef checkduplicate(t, n):\r\n \r\n\t\t\tfor i in range(len(t)):\r\n \r\n\t\t\t\tif(t[i] == n):\r\n\t\t\t\t\treturn True\r\n \r\n\t\t\treturn False\r\n \r\n \r\ndef backtracking(nums, index):\r\n\tif(index == len(nums)):\r\n\t\tfor i in nums:\r\n\t\t\tprint(i, end = &quot; &quot;)\r\n\t\tprint()          \r\n \r\n\tt = []\r\n\tfor i in range(index, len(nums)):\r\n\t\tif(checkduplicate(t, nums[i])):\r\n\t\t\tcontinue\r\n\t\tt.append(nums[i])\r\n\t\tnums[i], nums[index] = nums[index], nums[i]\r\n\t\tbacktracking( nums, index+1)\r\n\t\tnums[i], nums[index] = nums[index], nums[i]\r\n \r\nn = int(input())\r\nv = list(map(int,input().split()))\r\nv.sort()\r\nbacktracking(v, 0)\r\n<\/pre>\r\n<!-- \/wp:enlighter\/codeblock -->\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_2209 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_2209 a\"),jQuery(\"#tab-content_2209\"));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\n<p>[forminator_quiz id=&quot;2212&quot;]<\/p>\n<p>This article tried to discuss the concept of backtracking. Hope this blog helps you solve the problem based on backtracking . To practice more problems you can check out <a href=\"#\"><\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Concepts Used Back Tracking Difficulty Level Hard Problem Statement : Given N integers print all distinct combinations. Solution Approach : Introduction : Idea is to swap all the values one-by-one and keep track of the values used. In a set of n elements with d similar elements there are n!\/m! different permutations. For example, there [&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":[116],"tags":[],"class_list":["post-2208","post","type-post","status-publish","format-standard","hentry","category-backtracking-interview-questions"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Backtracking Interview Questions | Possible Attack 2 | Prepbytes<\/title>\n<meta name=\"description\" content=\"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.\" \/>\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\/possible-attack-2\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Backtracking Interview Questions | Possible Attack 2 | Prepbytes\" \/>\n<meta property=\"og:description\" content=\"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\" \/>\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-06-14T16:07:02+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-03-22T09:49:02+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.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\/possible-attack-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\"},\"author\":{\"name\":\"Prepbytes\",\"@id\":\"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e\"},\"headline\":\"Possible Attack-2\",\"datePublished\":\"2020-06-14T16:07:02+00:00\",\"dateModified\":\"2022-03-22T09:49:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\"},\"wordCount\":306,\"commentCount\":0,\"publisher\":{\"@id\":\"http:\/\/43.205.93.38\/#organization\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png\",\"articleSection\":[\"Backtracking Interview Questions\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\",\"url\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\",\"name\":\"Backtracking Interview Questions | Possible Attack 2 | Prepbytes\",\"isPartOf\":{\"@id\":\"http:\/\/43.205.93.38\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png\",\"datePublished\":\"2020-06-14T16:07:02+00:00\",\"dateModified\":\"2022-03-22T09:49:02+00:00\",\"description\":\"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.\",\"breadcrumb\":{\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage\",\"url\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png\",\"contentUrl\":\"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\/\/43.205.93.38\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Backtracking Interview Questions\",\"item\":\"https:\/\/prepbytes.com\/blog\/category\/backtracking-interview-questions\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Possible Attack-2\"}]},{\"@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":"Backtracking Interview Questions | Possible Attack 2 | Prepbytes","description":"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.","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\/possible-attack-2\/","og_locale":"en_US","og_type":"article","og_title":"Backtracking Interview Questions | Possible Attack 2 | Prepbytes","og_description":"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.","og_url":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/","og_site_name":"PrepBytes Blog","article_publisher":"https:\/\/www.facebook.com\/prepbytes0211\/","article_published_time":"2020-06-14T16:07:02+00:00","article_modified_time":"2022-03-22T09:49:02+00:00","og_image":[{"url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.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\/possible-attack-2\/#article","isPartOf":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/"},"author":{"name":"Prepbytes","@id":"http:\/\/43.205.93.38\/#\/schema\/person\/3f7dc4ae851791d5947a7f99df363d5e"},"headline":"Possible Attack-2","datePublished":"2020-06-14T16:07:02+00:00","dateModified":"2022-03-22T09:49:02+00:00","mainEntityOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/"},"wordCount":306,"commentCount":0,"publisher":{"@id":"http:\/\/43.205.93.38\/#organization"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png","articleSection":["Backtracking Interview Questions"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/prepbytes.com\/blog\/possible-attack-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/","url":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/","name":"Backtracking Interview Questions | Possible Attack 2 | Prepbytes","isPartOf":{"@id":"http:\/\/43.205.93.38\/#website"},"primaryImageOfPage":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage"},"image":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage"},"thumbnailUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png","datePublished":"2020-06-14T16:07:02+00:00","dateModified":"2022-03-22T09:49:02+00:00","description":"Idea Is to Swap All the Values One-by-one and Keep Track of the Values Used.set of N Elements With D Similar Elements There Are N!\/m! Different Permutations.","breadcrumb":{"@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/prepbytes.com\/blog\/possible-attack-2\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#primaryimage","url":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png","contentUrl":"https:\/\/prepbytes-misc-images.s3.ap-south-1.amazonaws.com\/assets\/1645181069704-Article_441.png"},{"@type":"BreadcrumbList","@id":"https:\/\/prepbytes.com\/blog\/possible-attack-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/43.205.93.38\/"},{"@type":"ListItem","position":2,"name":"Backtracking Interview Questions","item":"https:\/\/prepbytes.com\/blog\/category\/backtracking-interview-questions\/"},{"@type":"ListItem","position":3,"name":"Possible Attack-2"}]},{"@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\/2208","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=2208"}],"version-history":[{"count":9,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2208\/revisions"}],"predecessor-version":[{"id":8157,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/posts\/2208\/revisions\/8157"}],"wp:attachment":[{"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/media?parent=2208"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/categories?post=2208"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prepbytes.com\/blog\/wp-json\/wp\/v2\/tags?post=2208"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}