build missing HTML files for entries
Setup a simple topnav for missing HTML files for entries. Added `bin/gen-other-html.sh` to build entry HTML files from markdown other than README.md to index.html HTML files. Fixed duplicate link text in `2020/ferguson1/gameplay.md`. Improved `inc/md2html.cfg` to support building the missing HTML files for entries. Added `make gen_other_html` to top level Makefile. Added `make gen_other_html` to `make quick_www` and `make www`. Fixed inventory links for year level index.html files. Changed `bin/output-year-index.sh` VERSION from "1.0.1 2024-02-23" to "1.1 2024-02-27". Added missing lines in `manifest.numbers`. Update the affected `.entry.json` files. The manifest (in both `manifest.numbers` and the collection of manifests from of all entry `.entry.json` files) now match. Errors from `make verify_entry_files` will now abort both `make quick_www` and `make www` rules in the top level `Makefile`. Changed markdown files in manifest to have an _inventory_order_ of _2000000000_ so that the `index.html` file will usually appear at the start of the _Secondary files_ set for the "#inventory" section of an entry's `index.html` file. Changed compressed tar files (files that end in _.tar.bz2_) in manifest to have an _inventory_order_ of _100000_ so that these files will usually appear at the end of the _Primary files_ set for the "#inventory" section of an entry's `index.html` file. Added 'Jump to top` link above the _Primary files_ section. Changed `bin/output-index-inventory.sh` VERSION from "1.1.1 2024-02-23" to "1.2 2024-02-27". Updated HTML files to perform the above via `make www`.
This commit is contained in:
1 parent
7babf792e4
commit
9d3438fb88
718 files changed
+17515
-4084
No files matched your search
@@ -0,0 +1,269 @@
|
||||
<!DOCTYPE html>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||
<!-- START: two lines up starts content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!! DO NOT MODIFY THIS FILE - This file is generated by a tool !!! -->
|
||||
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
|
||||
<!-- -->
|
||||
<!-- END: this line ends content from: inc/top.default.html -->
|
||||
<!-- -->
|
||||
<!-- The original markdown content was formed by the tool: bin/gen-other-html.sh -->
|
||||
<!-- The HTML was converted from markdown by the tool: bin/md2html.sh -->
|
||||
<!-- -->
|
||||
<!-- START: this line starts content from: inc/head.default.html -->
|
||||
|
||||
<head>
|
||||
<link rel="stylesheet" href="../../ioccc.css">
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
|
||||
<title>The International Obfuscated C Code Contest</title>
|
||||
<meta name="description" content="patience.md for 1993/ejb">
|
||||
<meta name="keywords" content="IOCCC, 1993/ejb, patience.md">
|
||||
</head>
|
||||
|
||||
<!-- END: this line ends content from: inc/head.default.html -->
|
||||
<!-- START: this line starts content from: inc/body.default.html -->
|
||||
|
||||
<body>
|
||||
|
||||
<!-- END: this line ends content from: inc/body.default.html -->
|
||||
<!-- START: this line starts content from: inc/header.default.html -->
|
||||
|
||||
<div class="header">
|
||||
<img src="../../png/ioccc.png" alt="IOCCC image by Matt Zucker" width=300 height=110>
|
||||
<h1>The International Obfuscated C Code Contest</h1>
|
||||
<h2>patience.md for 1993/ejb</h2>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/header.default.html -->
|
||||
<!-- START: this line starts content from: inc/topnav.up2index.html -->
|
||||
|
||||
<div class="topnav">
|
||||
<a class="Left" href="index.html">↑ jump to index.html ↑</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/topnav.up2index.html -->
|
||||
<!-- START: this line starts content from: inc/begin-row.default.html -->
|
||||
|
||||
<div class="row">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-leftcolumn.default.html -->
|
||||
|
||||
<div class="leftcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/sidenav.default.html -->
|
||||
|
||||
<div class="sidenav">
|
||||
<a href="#content">Jump to contents</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="../../index.html">IOCCC Home</a>
|
||||
<a href="../../years.html">Winning Entries</a>
|
||||
<a href="../../authors.html">People who have won</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="../../news.html">IOCCC News</a>
|
||||
<a href="../../faq.html#submit">How to enter the IOCCC</a>
|
||||
<a href="../../faq.html">FAQ</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="../../bugs.html">Bugs & (mis)features</a>
|
||||
<a href="../../faq.html#fix_an_entry">Fixing IOCCC entries</a>
|
||||
<a href="../../faq.html#fix_web_site">Fixing the web site</a>
|
||||
<a href="../../faq.html#fix_author">Fixing author info</a>
|
||||
<a href="../../thanks-for-help.html">Thanks for the help</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="../../judges.html">The IOCCC Judges</a>
|
||||
<a href="../../contact.html">Contacting the IOCCC</a>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="sidenav">
|
||||
<a href="#top">Jump to top</a>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/sidenav.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-leftcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-leftcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/begin-rightcolumn.default.html -->
|
||||
|
||||
<div class="rightcolumn">
|
||||
|
||||
<!-- END: this line ends content from: inc/begin-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/before-content.default.html -->
|
||||
|
||||
<a name="content"></a>
|
||||
|
||||
<!-- END: this line ends content from: inc/before-content.default.html -->
|
||||
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
|
||||
<h1 id="the-patience-puzzle">The Patience puzzle</h1>
|
||||
<p>The Patience puzzle, probably of Chinese origin, consists of an iron
|
||||
U-shaped piece and several rings that link around it. The physical shape
|
||||
of the puzzle is very difficult to describe verbally, but here is an
|
||||
attempt.</p>
|
||||
<p>This description of the puzzle is presented as a set of instructions
|
||||
for constructing the puzzle. Start with a flat piece of iron about 15
|
||||
centimeters long by about two centimeters wide. Drill six holes in the
|
||||
piece of iron. Through each hole, place a rod. The rod should have a
|
||||
diameter slightly less than that of the hole so that it can move freely.
|
||||
One end of the rod is like the head of a nail and is larger than the
|
||||
hole to prevent it from coming free. The other end is looped around a
|
||||
metal ring with a diameter of about five centimeters. This completely
|
||||
prevents the iron rod from separating from the base. Each rod, in
|
||||
addition to going through the iron base, goes through the ring at the
|
||||
end of the rod to its right. The only rod free of this restriction is
|
||||
the rightmost rod. What has been described so far is one of the two
|
||||
components of the puzzle.</p>
|
||||
<p>The other component is another iron rod shaped like a <code>U</code>.
|
||||
The <code>U</code> is as long from the tips to the base as the original
|
||||
piece of iron with the holes in it. The ends of the <code>U</code> are
|
||||
looped around another ring of about five centimeters in diameter. In the
|
||||
puzzle’s initial configuration, the <code>U</code> is placed through the
|
||||
rings so that it is held in place by the iron rods. Imagine starting
|
||||
with the <code>U</code> piece before the iron loop is placed at the end.
|
||||
Slide the legs of the <code>U</code> through the loops so that the iron
|
||||
rods securing the loops to the metal strip go up the center of the
|
||||
<code>U</code>. Placing the final ring at the ends of the <code>U</code>
|
||||
prevents it from coming out. The object of the puzzle is to free the
|
||||
<code>U</code>-shaped piece from the other piece.</p>
|
||||
<p>The following illustration (sideways) shows a three-ring case of this
|
||||
puzzle. If you look carefully, you can see that the first ring could be
|
||||
lifted over the edge of the <code>U</code> and slid down through the
|
||||
center of the <code>U</code>, thereby freeing the <code>U</code> from
|
||||
the first iron rod. The second ring can also be freed in the initial
|
||||
configuration since it is already over the rod for the first ring. The
|
||||
third ring cannot be moved, however, since it is blocked by the iron rod
|
||||
to which the first ring is attached. If the first first is removed, then
|
||||
the third ring is no longer blocked by the first ring’s iron rod and can
|
||||
be removed freely. The second ring, however cannot be moved if the first
|
||||
ring is gone because it will then be blocked by the first ring in its
|
||||
new position outside of the <code>U</code>.</p>
|
||||
<p>Here is an illustration of the three-ring case. The bottom of the
|
||||
puzzle is on the left-hand side of the page.</p>
|
||||
<pre><code>
|
||||
|
||||
|
||||
//==\\
|
||||
|| ||
|
||||
|| ||
|
||||
*****||** ||
|
||||
*** || ***||
|
||||
** || *||
|
||||
|\ ** || ||**
|
||||
| \ *** || || ***
|
||||
| \ *** | || ===
|
||||
| \ *** || // * \\
|
||||
| \ *** || || ** ||
|
||||
| | | ********** ||
|
||||
| | || || || ||
|
||||
| | || || || ||
|
||||
| | *****||** || \\ ||
|
||||
| | |\ | *** || ***|| ||
|
||||
|==| |=========-**-===-||-============//
|
||||
|==| |=========-**-===-||-===========//
|
||||
| | \| | *** || || ***
|
||||
| | *** || || ===
|
||||
| | ***| || // * \\
|
||||
| | *** || || ** ||
|
||||
| | ||********** ||
|
||||
| | || || || ||
|
||||
| | *****||** || \\ ||
|
||||
| | |\ | *** || ***|| ||
|
||||
|==| |=========-**-===-||-============//
|
||||
|==| |=========-**-===-||-===========//
|
||||
| | \| | *** || || ***
|
||||
| | *** || || ===
|
||||
| | ***| || // * \\
|
||||
| | *** || || ** ||
|
||||
| | ||********** ||
|
||||
| | || || || ||
|
||||
| | || || || ||
|
||||
| | | || || \\ ||
|
||||
| | |\ | || || ||
|
||||
|==| |================-||-============//
|
||||
|==| |================-||-===========//
|
||||
| | \| | || ||
|
||||
| | || ||
|
||||
| | || ||
|
||||
| | || ||
|
||||
\ | || ||
|
||||
\ | \\ ||
|
||||
\ | \\ ||
|
||||
\ | \\ ||
|
||||
\ | \\||
|
||||
\| \||</code></pre>
|
||||
<p>This puzzle takes other forms as well. One such puzzle is called
|
||||
“Spin-Out”. This puzzle consists of one plastic piece that encases
|
||||
another piece that can slide in and out of it. The movement of the
|
||||
smaller piece is restricted by discs that, when turned to one angle,
|
||||
lock the smaller piece inside the larger one and, when turned the other
|
||||
way, allow it to move. This puzzle is as difficult to describe as the
|
||||
first and, since I don’t have one in front of me, I will not attempt to
|
||||
describe it. The object of this puzzle is to free the smaller piece from
|
||||
the larger one. The other puzzle that is like this one consists of a
|
||||
cylinder with rods protruding from the top. The rods can be slid from
|
||||
the center to the edge of the cylinder constrained by a series of discs
|
||||
in the center. The discs have cuts in them that allow some rods to move
|
||||
and force others in one place based on the relative rotations of the
|
||||
discs. The object here is to move all the rods from the inside to the
|
||||
outside.</p>
|
||||
<p>What makes these puzzles similar is that the physical shapes of the
|
||||
puzzles put the same restrictions on the movement of the pieces.
|
||||
Specifically, there is always one piece that is free to move. The only
|
||||
other piece that is free to move is the second one that is still
|
||||
attached to the base it is trying to be freed from. In the case of the
|
||||
original puzzle, consider the rings numbered from 1 to 6 with ring 1
|
||||
being the one at the closed end of the <code>U</code>. Ring 1 can always
|
||||
be removed from or added to the <code>U</code>. In the initial state,
|
||||
when all rings are around the <code>U</code>, ring 2 is the other one
|
||||
that can be moved because it is second. If ring 1 is removed, then only
|
||||
two operations are possible: the restoration of ring 1 and the removal
|
||||
of ring 3. This is because ring 1 is always movable, and ring 3 is
|
||||
currently the second ring still attached to the <code>U</code>. This
|
||||
constraint leads to a recursive solution to the puzzle. Like the <a
|
||||
href="hanoi.md">Towers of Hanoi</a>, the number of steps to solve this
|
||||
puzzle is exponential in the number of rings.</p>
|
||||
|
||||
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
|
||||
<!-- START: this line starts content from: inc/after-content.default.html -->
|
||||
|
||||
<!-- END: this line ends content from: inc/after-content.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-rightcolumn.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-rightcolumn.default.html -->
|
||||
<!-- START: this line starts content from: inc/end-row.default.html -->
|
||||
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/end-row.default.html -->
|
||||
<!-- START: this line starts content from: inc/footer.default.html -->
|
||||
|
||||
<div class="footer">
|
||||
<hr>
|
||||
<h2>Coda</h2>
|
||||
<p><a href="https://validator.w3.org/nu/?doc=#">Nu HTML check this web page</a></p>
|
||||
<p><a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a></p>
|
||||
</div>
|
||||
|
||||
<!-- END: this line ends content from: inc/footer.default.html -->
|
||||
<!-- START: this line starts content from: inc/bottom.default.html -->
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!-- END: this line ends content from: inc/bottom.default.html -->
|
||||
Reference in new issue
Block a user