X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=06-tour-shapes%2Ftour-shapes-solution.ipynb;h=ceb641fbc83c48136aee813d611d91993c902f3b;hb=0d5419df577af1f1f0bdfdaae5974a62c3c453b0;hp=5823e5a8f0238c5c2e6f8781d965a8cbcd0d8bae;hpb=2d3f221991090996eff0709c9f803c5003af2da6;p=ou-summer-of-code-2017.git

diff --git a/06-tour-shapes/tour-shapes-solution.ipynb b/06-tour-shapes/tour-shapes-solution.ipynb
index 5823e5a..ceb641f 100644
--- a/06-tour-shapes/tour-shapes-solution.ipynb
+++ b/06-tour-shapes/tour-shapes-solution.ipynb
@@ -382,7 +382,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "1 loop, best of 3: 213 ms per loop\n"
+      "1 loop, best of 3: 214 ms per loop\n"
      ]
     }
    ],
@@ -398,22 +398,56 @@
     "# Part 2"
    ]
   },
+  {
+   "cell_type": "code",
+   "execution_count": 36,
+   "metadata": {},
+   "outputs": [
+    {
+     "data": {
+      "text/plain": [
+       "80622"
+      ]
+     },
+     "execution_count": 36,
+     "metadata": {},
+     "output_type": "execute_result"
+    }
+   ],
+   "source": [
+    "(sum(len(pi + pj)\n",
+    " for i, pi in enumerate(tours) \n",
+    " for j, pj in enumerate(tours)\n",
+    " if i != j\n",
+    " if not valid(trace_tour(pi))\n",
+    " if not valid(trace_tour(pj))\n",
+    " if valid(trace_tour(pi + pj))) \n",
+    " + \n",
+    " sum(len(t) for t in tours if valid(trace_tour(t))))"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": 22,
-   "metadata": {
-    "collapsed": true
-   },
-   "outputs": [],
+   "metadata": {},
+   "outputs": [
+    {
+     "name": "stdout",
+     "output_type": "stream",
+     "text": [
+      "1 loop, best of 3: 1min 32s per loop\n"
+     ]
+    }
+   ],
    "source": [
-    "# %%timeit\n",
-    "# [(i, j) \n",
-    "#  for i, pi in enumerate(tours) \n",
-    "#  for j, pj in enumerate(tours)\n",
-    "#  if i != j\n",
-    "#  if not valid(trace_tour(pi))\n",
-    "#  if not valid(trace_tour(pj))\n",
-    "#  if valid(trace_tour(pi + pj))]"
+    "%%timeit\n",
+    "[(i, j) \n",
+    " for i, pi in enumerate(tours) \n",
+    " for j, pj in enumerate(tours)\n",
+    " if i != j\n",
+    " if not valid(trace_tour(pi))\n",
+    " if not valid(trace_tour(pj))\n",
+    " if valid(trace_tour(pi + pj))]"
    ]
   },
   {
@@ -601,7 +635,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "1 loop, best of 3: 1.29 s per loop\n"
+      "1 loop, best of 3: 1.18 s per loop\n"
      ]
     }
    ],