Files
Landon Curt Noll a1c86c8a7a add original C links to entry navigation bars
The navigation bar for a winning entry now has a "_Original C_" link
(between the ✅ and the Inventory on the right hand side) so that one
may easily view the original C code that was submitted for IOCCC judging.

Ran `make www timestamp` to perform the above.
2025-08-10 12:46:23 -07:00

757 lines
30 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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 -->
<!-- END: this line ends content from: inc/top.default.html -->
<!-- START: this line starts content from: inc/head.default.html -->
<head>
<link rel="stylesheet" href="../../ioccc.css">
<link href="https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap" rel="stylesheet">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes">
<title>2011/hamaji - Best solved puzzle</title>
<link rel="icon" type="image/x-icon" href="../../favicon.ico">
<meta name="description" content="2011 IOCCC entry hamaji - Best solved puzzle">
<meta name="keywords" content="IOCCC, 2011, IOCCC 2011, IOCCC entry, hamaji, Best solved puzzle">
</head>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! 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/head.default.html -->
<!-- -->
<!-- This web page was formed via the tool: bin/readme2index.sh -->
<!-- The content of main section of this web page came from: 2011/hamaji/README.md -->
<!-- -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2011/hamaji/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2011/hamaji/README.md !!! -->
<!-- !!! Do not modify this web page, instead modify the file: 2011/hamaji/README.md !!! -->
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<!-- Markdown content was converted into HTML via the tool: bin/md2html.sh -->
<!-- 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/topbar.default.html -->
<div class="theader">
<nav class="topbar">
<div class="container">
<div class="logo">
<a href="../../index.html" class="logo-link">
IOCCC
</a>
</div>
<div class="topbar-items">
<div class="item">
<span class="item-header">
Entries
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../years.html" class="sub-item-link">
Winning entries
</a>
</div>
<div class="outfit-font">
<a href="../../authors.html" class="sub-item-link">
Winning authors
</a>
</div>
<div class="outfit-font">
<a href="../../location.html" class="sub-item-link">
Location of authors
</a>
</div>
<div class="outfit-font">
<a href="../../bugs.html" class="sub-item-link">
Bugs and (mis)features
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_an_entry" class="sub-item-link">
Fixing entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#fix_author" class="sub-item-link">
Updating author info
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
Status
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../news.html" class="sub-item-link">
News
</a>
</div>
<div class="outfit-font">
<a href="../../status.html" class="sub-item-link">
Contest status
</a>
</div>
<div class="outfit-font">
<a href="../../next/rules.html" class="sub-item-link">
IOCCC rules
</a>
</div>
<div class="outfit-font">
<a href="../../next/guidelines.html" class="sub-item-link">
IOCCC guidelines
</a>
</div>
<div class="outfit-font">
<a href="../../markdown.html" class="sub-item-link">
Markdown guidelines
</a>
</div>
<div class="outfit-font">
<a href="../../SECURITY.html" class="sub-item-link">
Security policy
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
FAQ
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../faq.html" class="sub-item-link">
Frequently asked questions
</a>
</div>
<div class="outfit-font">
<a href="../../quick-start.html#enter" class="sub-item-link">
Enter the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#compiling" class="sub-item-link">
Compiling entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#running_entries" class="sub-item-link">
Running entries
</a>
</div>
<div class="outfit-font">
<a href="../../faq.html#help" class="sub-item-link">
How to help
</a>
</div>
</div>
</div>
<div class="item">
<span class="item-header">
About
</span>
<div class="sub-item">
<div class="outfit-font">
<a href="../../index.html" class="sub-item-link">
Home page
</a>
</div>
<div class="outfit-font">
<a href="../../social.html" class="sub-item-link">
IOCCC social media
</a>
</div>
<div class="outfit-font">
<a href="../../about.html" class="sub-item-link">
About the IOCCC
</a>
</div>
<div class="outfit-font">
<a href="../../judges.html" class="sub-item-link">
The judges
</a>
</div>
<div class="outfit-font">
<a href="../../thanks-for-help.html" class="sub-item-link">
Thanks for the help
</a>
</div>
<div class="outfit-font">
<a href="../../contact.html" class="sub-item-link">
Contact us
</a>
</div>
</div>
</div>
</div>
</div>
</nav>
<div class="header-mobile-menu">
<noscript>
<a href="../../nojs-menu.html" class="topbar-js-label">
Please Enable JavaScript
</a>
</noscript>
<button id="header-open-menu-button" class="topbar-mobile-menu">
<img
src="../../png/hamburger-icon-open.png"
alt="hamburger style menu icon - open state"
width=48
height=48>
</button>
<button id="header-close-menu-button" class="hide-content">
<img
src="../../png/hamburger-icon-closed.png"
alt="hamburger style menu icon - closed state"
width=48
height=48>
</button>
<div id="mobile-menu-panel" class="hide-content">
<div class="mobile-menu-container">
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Entries
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../years.html">
Winning entries
</a>
<a class="mobile-submenu-item" href="../../authors.html">
Winning authors
</a>
<a class="mobile-submenu-item" href="../../location.html">
Location of authors
</a>
<a class="mobile-submenu-item" href="../../bugs.html">
Bugs and (mis)features
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_an_entry">
Fixing entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#fix_author">
Updating author info
</a>
<a class="mobile-submenu-item" href="../../thanks-for-help.html">
Thanks for the help
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
Status
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../news.html">
News
</a>
<a class="mobile-submenu-item" href="../../status.html">
Contest status
</a>
<a class="mobile-submenu-item" href="../../next/rules.html">
IOCCC rules
</a>
<a class="mobile-submenu-item" href="../../next/guidelines.html">
IOCCC guidelines
</a>
<a class="mobile-submenu-item" href="../../markdown.html">
Markdown guidelines
</a>
<a class="mobile-submenu-item" href="../../SECURITY.html">
Security policy
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
FAQ
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../faq.html">
Frequently asked questions
</a>
<a class="mobile-submenu-item" href="../../quick-start.html#enter">
Enter the IOCCC
</a>
<a class="mobile-submenu-item" href="../../faq.html#compiling">
Compiling entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#running_entries">
Running entries
</a>
<a class="mobile-submenu-item" href="../../faq.html#help">
How to help
</a>
</div>
</div>
<div class="mobile-menu-wrapper">
<div class="mobile-menu-item">
About
</div>
<div class="mobile-submenu-wrapper">
<a class="mobile-submenu-item" href="../../index.html">
Home page
</a>
<a class="mobile-submenu-item" href="../../social.html">
IOCCC social media
</a>
<a class="mobile-submenu-item" href="../../about.html">
About the IOCCC
</a>
<a class="mobile-submenu-item" href="../../judges.html">
The judges
</a>
<a class="mobile-submenu-item" href="../../contact.html">
Contact us
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
var headerOpenMenuButton = document.getElementById("header-open-menu-button");
var headerCloseMenuButton = document.getElementById("header-close-menu-button");
var mobileMenuPanel = document.getElementById("mobile-menu-panel");
headerOpenMenuButton.addEventListener("click", () => {
headerOpenMenuButton.classList.remove("topbar-mobile-menu");
headerOpenMenuButton.classList.add("hide-content");
headerCloseMenuButton.classList.remove("hide-content");
headerCloseMenuButton.classList.add("topbar-mobile-menu");
mobileMenuPanel.classList.remove("hide-content");
mobileMenuPanel.classList.add("topbar-mobile-panel");
});
headerCloseMenuButton.addEventListener("click", () => {
headerCloseMenuButton.classList.remove("topbar-mobile-menu");
headerCloseMenuButton.classList.add("hide-content");
mobileMenuPanel.classList.add("hide-content");
mobileMenuPanel.classList.remove("topbar-mobile-panel");
headerOpenMenuButton.classList.add("topbar-mobile-menu");
headerOpenMenuButton.classList.remove("hide-content");
});
</script>
<!-- END: this line ends content from: inc/topbar.default.html -->
<!-- START: this line starts content from: inc/header.default.html -->
<div class="header">
<a href="../../2011/zucker/index.html">
<img src="../../png/ioccc.png"
alt="IOCCC image by Matt Zucker"
width=300
height=110>
</a>
<h1>The International Obfuscated C Code Contest</h1>
<h2>2011/hamaji - Best solved puzzle</h2>
<h3>Paint by number puzzle</h3>
</div>
<!-- END: this line ends content from: inc/header.default.html -->
<!-- START: this line starts content from: inc/navbar.mid.html -->
<div class="navbar">
<a class="Left" href="../goren/index.html">&larr; 2011/goren</a>
<a class="Left" href="../index.html">&uarr; 2011 &uarr;</a>
<a class="Left" href="../hou/index.html">2011/hou &rarr;</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/hamaji.c">C code</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/Makefile">Makefile</a>
<a class="Right" href="#inventory">Inventory</a>
<a class="Right" href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/hamaji.orig.c">Original C</a>
<a class="Right" href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.ioccc.org%2F2011%2Fhamaji%2Findex.html">&#x2713;</a>
</div>
<!-- END: this line ends content from: inc/navbar.mid.html -->
<!-- START: this line starts content from: inc/before-content.default.html -->
<div class="content" id="content">
<!-- END: this line ends content from: inc/before-content.default.html -->
<!-- START: this line starts content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-author.sh -->
<div id="author">
<h2 id="authors">Authors:</h2>
</div>
<ul>
<li>Name: <a href="../../authors.html#Bsoup">bsoup</a><br>
Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em>
<br><br></li>
<li>Name: <a href="../../authors.html#Shinichiro_Hamaji">Shinichiro Hamaji</a><br>
Location: <a href="../../location.html#JP">JP</a> - <em>Japan</em></li>
</ul>
<!-- END: next line ends content generated by: bin/output-index-author.sh -->
<!-- END: this line ends content for HTML phase 20 by: bin/output-index-author.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- BEFORE: 1st line of markdown file: 2011/hamaji/README.md -->
<h2 id="to-build">To build:</h2>
<pre><code> make</code></pre>
<h2 id="to-use">To use:</h2>
<pre><code> ./hamaji &lt; a_nonogram_file</code></pre>
<h2 id="try">Try:</h2>
<pre><code> ./try.sh</code></pre>
<p>If you have perl installed you should be able to reproduce
<a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/dragon.nono">dragon.nono</a> like:</p>
<pre><code> perl c2nono.pl hamaji.c | ./hamaji</code></pre>
<h2 id="judges-remarks">Judges’ remarks:</h2>
<p>This program solves <a href="http://en.wikipedia.org/wiki/Nonogram">Nonograms</a> which is
also known as “Paint by Numbers”.</p>
<p>This entry roars as the Year of the Dragon: A year considered
by some to be good luck. Well it was certainly true that the
IOCCC was lucky to get such a fine submission!</p>
<p>The source code is a solution to a Paint by Numbers puzzle when you
paint by C. Try your hand at solving a few of the other <code>.nono</code>
files and then compare your solution with this program!</p>
<p><strong>NOTE</strong>: NONOGRAM (r) is a registered Trademark and is used with permission. See
<a href="https://nonogram.com" class="uri">https://nonogram.com</a> for more information.</p>
<h2 id="authors-remarks">Author’s remarks:</h2>
<p>The format of the input files are as same as this site:
<a href="https://web.archive.org/web/20130218055139/http://codegolf.com/paint-by-numbers" class="uri">https://web.archive.org/web/20130218055139/http://codegolf.com/paint-by-numbers</a>.</p>
<p>For example, for a simple problem which shows a glider of <a href="http://en.wikipedia.org/wiki/Conway&#39;s_Game_of_Life">Conway’s
Game of Life</a>:</p>
<pre><code> 1
.
112
1 X
1 X
3 XXX</code></pre>
<p>the input should be</p>
<pre><code> 1
1
3
-
1
1.1
2</code></pre>
<p>The width and the height of an input puzzle should be less than or
equal to 60.</p>
<p>When this solver finds the problem has no solution, it prints “<code>invalid</code>”.
This means the problem is indeed broken. For example, this happens for
an input like</p>
<pre><code> 2
-
2</code></pre>
<p>When this solver cannot find a solution, it prints “<code>failed</code>”. This
failure can happen when the problem has more than one solution or the
solver cannot solve the input problem. Here is an example input of the
former:</p>
<pre><code> 1
1
-
1
1</code></pre>
<p>There are two solutions:</p>
<pre><code> 11
1 X
1 X</code></pre>
<p>and</p>
<pre><code> 11
1 X
1 X</code></pre>
<h3 id="detail">Detail</h3>
<p>Solving Nonogram is
<a href="https://en.wikipedia.org/wiki/NP-completeness">NP-complete</a>, so we cannot make
a solver which solves all puzzles. However, we can write a solver which solves
most problems solvable by humans. There are a bunch of ways to write such
programs. The two most obvious approaches are:</p>
<ol type="1">
<li>Check all possible solutions with backtracking.</li>
<li>Implement all techniques which humans use.</li>
</ol>
<p>The former, brute-force approach is easy to implement. However, it
works only for smaller problems (width and height should be at most 30
or so). Similarly, using generic probabilistic
<a href="https://en.wikipedia.org/wiki/Metaheuristic">metaheuristics</a> such as
<a href="https://en.wikipedia.org/wiki/Simulated_annealing">simulated annealing</a> doesn’t
work for big problems.</p>
<p>See: <a href="http://ccl.northwestern.edu/netlogo/models/community/Nonogram" class="uri">http://ccl.northwestern.edu/netlogo/models/community/Nonogram</a>.</p>
<p>By its definition, the latter method works for all human-solvable
problems. The issue of the latter approach is this kind of program
tends to be lengthy. This approach still requires some
<a href="https://en.wikipedia.org/wiki/Recursion">recursions</a>. The
most difficult problems which are considered human-solvable may
require some “guesses”. For these kinds of problems, we need to assume a
cell is a space or a box, go ahead some steps with simple methods and
mark the tried cell as a box (or a space if we assumed the tried cell
is a box) if a contradiction is found.</p>
<p>My program uses an approach like “Set based solver” introduced in
<a href="https://wiki.haskell.org/Nonogram#Set_based_solver" class="uri">https://wiki.haskell.org/Nonogram#Set_based_solver</a>. This should be equivalent
to the combinations of simple methods (no advanced reasoning with guess). My
solver also runs a non-recursive guess for each undetermined cells. So, my
program should be able to solve most human-solvable problems (assuming humans
cannot execute deeper recursions).</p>
<h3 id="obfuscation">Obfuscation</h3>
<p>First of all, as you see, my program looks like a nonogram puzzle which results
in a <a href="https://www.draconika.com/what">dragon</a>. This puzzle is
<a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/dragon.nono">dragon.nono</a> in this directory. Note that whitespaces in character
literals, a string literal, and around the last comment are considered as a
boxed cell.</p>
<p>My program is based on bit operations for speed. Many values are
stored using negative logic (0 means on and 1 means off) to utilize
the initial value of global variables. Thus, it might be difficult to
figure out how it works.</p>
<p>My program is decently shortened, because the size of source code is
limited by IOCCC’s rule (2048 non-whitespace characters) and a lot of
characters are just wasted for numbers around the picture.</p>
<p>The three requirements (dragon, speed, and size) naturally ended up
with the well obfuscated code.</p>
<h3 id="portability">Portability</h3>
<p>This program uses two C99 features. One line comments and <code>long long</code>.
GCC’s <code>-ansi -pedantic</code> check should pass:</p>
<pre><code> cc -ansi -pedantic -std=c99 hamaji.c</code></pre>
<p>I checked my program with gcc-4.6.2 on linux, llvm-gcc-4.2 on Mac, and
clang-3.0 on Mac.</p>
<p>Note that the behavior of <code>scanf(3)</code> differs on linux and mac, but this
program supports both semantics.</p>
<p>This program should not depend on <code>sizeof(int)</code>, <code>sizeof(void*)</code>, ASCII,
memory layout, undefined evaluation order (e.g., <code>a[i++]=i</code>), etc.
This program won’t work if the size of <code>long long</code> literal is less than 8.
By grepping the source code of gcc</p>
<pre><code> grep LONG_LONG_TYPE_SIZE gcc/config/*/*</code></pre>
<p>I found long long may be 32bit integers only on AVR.</p>
<h3 id="a-few-more-things">A few more things</h3>
<p>This code is considered as a <a href="http://en.wikipedia.org/wiki/Japanese_New_Year#Postcards">new year’s postcard in
Japan</a>. We chose
the dragon because 2012 is the <a href="https://japanesezodiac.com/japanese-year-of-the-dragon">year of
dragon</a>.</p>
<p>The second author wrote the picture, and the first author did
everything else.</p>
<p>The <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/dragon.nono">dragon.nono</a>, <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/samurai.nono">samurai.nono</a>, and
<a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/penguin.nono">penguin.nono</a> were written by the
second author. The <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/soccer.nono">soccer.nono</a> was from a wikipedia entry. This file
is important because it requires some guesses. The <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/random.nono">random.nono</a> file
was randomly generated. The <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/codegolf.nono">codegolf.nono</a> and
<a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/face.nono">face.nono</a> were taken from
<a href="https://web.archive.org/web/20130218055139/http://codegolf.com/paint-by-numbers" class="uri">https://web.archive.org/web/20130218055139/http://codegolf.com/paint-by-numbers</a>.</p>
<p>You can reproduce <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/dragon.nono">dragon.nono</a> from <a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/hamaji.c">hamaji.c</a> using
<a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/c2nono.pl">c2nono.pl</a>:</p>
<pre><code> perl c2nono.pl hamaji.c | ./hamaji</code></pre>
<!--
Copyright © 1984-2024 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->
<!-- AFTER: last line of markdown file: 2011/hamaji/README.md -->
<!-- END: this line ends content for HTML phase 21 by: bin/pandoc-wrapper.sh via bin/md2html.sh -->
<!-- START: this line starts content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content generated by: bin/output-index-inventory.sh -->
<div id="inventory">
<h1 id="inventory-for-2011hamaji">Inventory for 2011/hamaji</h1>
</div>
<h2 id="primary-files">Primary files</h2>
<ul>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/hamaji.c">hamaji.c</a> - entry source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/Makefile">Makefile</a> - entry Makefile</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/hamaji.orig.c">hamaji.orig.c</a> - original source code</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/c2nono.pl">c2nono.pl</a> - perl script to reproduce dragon.nono</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/codegolf.nono">codegolf.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/conway-game-of-life.nono">conway-game-of-life.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/dragon.nono">dragon.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/face.nono">face.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/multi-solutions.nono">multi-solutions.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/no-solution.nono">no-solution.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/penguin.nono">penguin.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/plus.nono">plus.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/random.nono">random.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/samurai.nono">samurai.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/smiley.nono">smiley.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/soccer.nono">soccer.nono</a> - nonogram input data</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/try.sh">try.sh</a> - script to try entry</li>
</ul>
<h2 id="secondary-files">Secondary files</h2>
<ul>
<li><a href="2011_hamaji.tar.bz2">2011_hamaji.tar.bz2</a> - download entry tarball</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/README.md">README.md</a> - markdown source for this web page</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/.entry.json">.entry.json</a> - entry summary and manifest in JSON</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/.gitignore">.gitignore</a> - list of files that should not be committed under git</li>
<li><a href="https://github.com/ioccc-src/winner/blob/master/2011/hamaji/.path">.path</a> - directory path from top level directory</li>
<li><a href="index.html">index.html</a> - this web page</li>
</ul>
<hr style="width:10%;text-align:left;margin-left:0">
<h4>
Jump to: <a href="#">top</a>
</h4>
<!-- END: next line ends content generated by: bin/output-index-inventory.sh -->
<!-- END: this line ends content for HTML phase 22 by: bin/output-index-inventory.sh via bin/md2html.sh -->
<!-- START: this line starts content from: inc/after-content.default.html -->
</div>
<!-- END: this line ends content from: inc/after-content.default.html -->
<!-- START: this line starts content from: inc/footer.inventory.html -->
<!--
Copyright © 1984-2025 by Landon Curt Noll. All Rights Reserved.
You are free to share and adapt this file under the terms of this license:
Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0)
For more information, see:
https://creativecommons.org/licenses/by-sa/4.0/
-->
<div class="footer">
<div id="copyright"><h3>Copyright &copy; 1984-2025 by Landon Curt Noll:
<a href="https://creativecommons.org/faq/#what-does-some-rights-reserved-mean"
target="_blank"
rel="license noopener noreferrer">Some Rights Reserved</a></h3>
<p>
This work is <b>licensed by Landon Curt Noll</b> under
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/?ref=chooser-v1"
target="_blank"
rel="license noopener noreferrer"
style="display:inline-block;">CC BY-SA 4.0</a></b>.
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/cc.png"
alt="cc inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/by.png"
alt="person inside circle symbol">
<img style="height:22px!important;margin-left:3px;vertical-align:text-bottom;"
src="../../png/sa.png"
alt="arrow looping back on itself inside circle symbol"><br>
You should <b>carefully review</b> the
<b><a href="https://creativecommons.org/licenses/by-sa/4.0/legalcode.en"
target="_blank"
rel="license noopener noreferrer">CC BY-SA 4.0 LEGAL CODE</a></b>
before using the licensed material.<br>
You may wish to review the
<b><a href="../../license.html"
target="_blank"
rel="license noopener noreferrer">highlights of some of the key features and terms</a></b>
of <b>CC BY-SA 4.0</b>.<br>
</p>
</div>
<div id="coda"><h3>Coda</h3>
<p>
<a href="https://validator.w3.org/nu/?doc=https%3A%2F%2Fwww.ioccc.org%2F2011%2Fhamaji%2Findex.html" rel="nofollow">Nu HTML check this web page</a><br>
<a href="#top">Jump to top</a> <a href="#content">Jump to Content</a> <a href="#inventory">Jump to Inventory</a><br>
</p>
</div>
</div>
<!-- END: this line ends content from: inc/footer.inventory.html -->
<!-- START: this line starts content from: inc/bottom.default.html -->
</body>
</html>
<!-- END: this line ends content from: inc/bottom.default.html -->