fix Makefile and README.md for 2013/birken
Replace compressed *.tbz2 files with their contents.
This commit is contained in:
1 parent
abc1ffd9dc
commit
ea1a95b1a8
28 files changed
+820
-117
No files matched your search
+206
-85
@@ -1,96 +1,160 @@
|
|||||||
#!/usr/bin/env make
|
#!/usr/bin/env make
|
||||||
#
|
#
|
||||||
# 2013 makefile
|
# IOCCC 2013 winning entry - birken
|
||||||
|
|
||||||
|
################################################################################
|
||||||
#
|
#
|
||||||
# This work by Landon Curt Noll, Simon Cooper, and Leonid A. Broukhis
|
# Regarding individual entries:
|
||||||
# is licensed under:
|
#
|
||||||
|
# IOCCC winning entry code may not work on your system. Even with standards,
|
||||||
|
# conditions and build environments change, especially when it comes to more
|
||||||
|
# extreme code such you might find in an IOCCC winner. Moreover, what was
|
||||||
|
# allowed and liked in one IOCCC contest may no longer be liked/allowed in
|
||||||
|
# later IOCCC years.
|
||||||
|
#
|
||||||
|
# Corrections on winning author and fixing typos in remarks are VERY WELCOME.
|
||||||
|
#
|
||||||
|
# GitHub pull requests are welcome:
|
||||||
|
#
|
||||||
|
# If you have a patch that might make running an entry work in modern Unix-like
|
||||||
|
# environments, please create a GitHub pull request for the IOCCC judges to
|
||||||
|
# consider.
|
||||||
|
#
|
||||||
|
# Suggestions and corrections regarding Makefiles, winning author information,
|
||||||
|
# fixing typos in remarks, and code patches are welcome via opening a GitHub
|
||||||
|
# issue or better yet, by creating a GitHub pull request for the IOCCC judges
|
||||||
|
# to consider. To form a GitHub issue or GitHub pull, please visit:
|
||||||
|
#
|
||||||
|
# https://github.com/ioccc-src/winner
|
||||||
|
#
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# This work by Landon Curt Noll and Leonid A. Broukhis is licensed under:
|
||||||
#
|
#
|
||||||
# Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
# Creative Commons Attribution-ShareAlike 3.0 Unported License.
|
||||||
#
|
#
|
||||||
# See: http://creativecommons.org/licenses/by-sa/3.0/
|
# See: http://creativecommons.org/licenses/by-sa/3.0/
|
||||||
|
|
||||||
|
|
||||||
################
|
#############################
|
||||||
# tool locations
|
# shell used by this Makefile
|
||||||
################
|
#############################
|
||||||
#
|
#
|
||||||
SHELL= bash
|
SHELL= bash
|
||||||
CP= cp
|
|
||||||
CPP= cpp
|
#######################
|
||||||
GUNZIP= gunzip
|
# common tool locations
|
||||||
LD= ld
|
#######################
|
||||||
MAKE= make
|
#
|
||||||
RM= rm
|
include ../../var.mk
|
||||||
SED= sed
|
|
||||||
TAR= tar
|
|
||||||
TRUE= true
|
|
||||||
|
|
||||||
# Set X11_LIBDIR to the directory where the X11 library resides
|
# Set X11_LIBDIR to the directory where the X11 library resides
|
||||||
#
|
#
|
||||||
X11_LIBDIR= /usr/X11R6/lib
|
#X11_LIBDIR= /usr/X11R6/lib
|
||||||
|
#X11_LIBDIR= /usr/X11/lib
|
||||||
|
X11_LIBDIR= /opt/X11/lib
|
||||||
|
|
||||||
# Set X11_INCLUDEDIR to the directory where the X11 include files reside
|
# Set X11_INCLUDEDIR to the directory where the X11 include files reside
|
||||||
#
|
#
|
||||||
X11_INCDIR= /usr/X11R6/include
|
#X11_INCDIR= /usr/X11R6/include
|
||||||
|
#X11_INCDIR= /usr/X11/include
|
||||||
|
X11_INCDIR= /opt/X11/include
|
||||||
|
|
||||||
# Compiler warnings
|
# Common C compiler warnings to silence
|
||||||
#
|
#
|
||||||
#CWARN=
|
#CSILENCE=
|
||||||
#CWARN= -Wall -W
|
CSILENCE= -Wno-newline-eof
|
||||||
CWARN= -Wall -pedantic -Wno-newline-eof
|
|
||||||
|
|
||||||
# compiler standard
|
# Common C compiler warning flags
|
||||||
|
#
|
||||||
|
#CWARN= ${CSILENCE}
|
||||||
|
#CWARN= -Wall ${CSILENCE}
|
||||||
|
#CWARN= -Wall -Wextra ${CSILENCE}
|
||||||
|
CWARN= -Wall -Wextra -pedantic ${CSILENCE}
|
||||||
|
|
||||||
|
# Compiler standard
|
||||||
#
|
#
|
||||||
#CSTD=
|
#CSTD=
|
||||||
#CSTD= -ansi
|
#CSTD= -ansi
|
||||||
CSTD= -std=c99
|
CSTD= -std=gnu11
|
||||||
|
|
||||||
# compiler bit architecture
|
# Compiler bit architecture
|
||||||
#
|
#
|
||||||
# Some entries require 32-bitness:
|
# Some entries require 32-bitness:
|
||||||
# ARCH= -m32
|
# ARCH= -m32
|
||||||
#
|
#
|
||||||
# Some entries require 64-bitess:
|
# Some entries require 64-bitness:
|
||||||
# ARCH= -m64
|
# ARCH= -m64
|
||||||
#
|
#
|
||||||
# By default we assume nothing:
|
# By default we assume nothing:
|
||||||
#
|
#
|
||||||
ARCH=
|
ARCH=
|
||||||
|
|
||||||
# optimization
|
# Defines that are needed to compile
|
||||||
|
#
|
||||||
|
CDEFINE=
|
||||||
|
#CDEFINE= -DIOCCC
|
||||||
|
|
||||||
|
# Include files that are needed to compile
|
||||||
|
#
|
||||||
|
CINCLUDE=
|
||||||
|
#CINCLUDE= -include stdlib.h
|
||||||
|
#CINCLUDE= -include stdio.h
|
||||||
|
#CINCLUDE= -include stdlib.h -include stdio.h
|
||||||
|
#CINCLUDE= -I ${X11_INCDIR} -I ${X11_INCDIR}/X11
|
||||||
|
#CINCLUDE= `${SDL2_CONFIG} --cflags`
|
||||||
|
|
||||||
|
# Optimization
|
||||||
#
|
#
|
||||||
# Most compiles will safely use -O2. Some can use only -O1 or -O.
|
# Most compiles will safely use -O2. Some can use only -O1 or -O.
|
||||||
# A few compilers have broken optimizers or this entry make break
|
# A few compilers have broken optimizers or this entry make break
|
||||||
# under those buggy optimizers and thus you may not want anything.
|
# under those buggy optimizers and thus you may not want anything.
|
||||||
|
# Reasonable compilers will allow for -O3.
|
||||||
#
|
#
|
||||||
#OPT=
|
#OPT=
|
||||||
#OPT= -O
|
#OPT= -O
|
||||||
#OPT= -O1
|
#OPT= -O1
|
||||||
OPT= -O2
|
#OPT= -O2
|
||||||
#OPT= -O3
|
OPT= -O3
|
||||||
|
|
||||||
|
# Default flags for ANSI C compilation
|
||||||
|
#
|
||||||
|
CFLAGS= ${CSTD} ${CWARN} ${ARCH} ${CDEFINE} ${CINCLUDE} ${OPT}
|
||||||
|
|
||||||
# Libraries needed to build
|
# Libraries needed to build
|
||||||
#
|
#
|
||||||
LIBS=
|
LIBS=
|
||||||
|
#LIBS= -lm
|
||||||
|
#LIBS= -L ${X11_LIBDIR} -lX11
|
||||||
|
#LIBS= `${SDL2_CONFIG} --libs`
|
||||||
|
|
||||||
# default flags for ANSI C compilation
|
# C compiler to use
|
||||||
#
|
|
||||||
CFLAGS= ${CWARN} ${CSTD} ${ARCH} ${OPT} ${LIBS}
|
|
||||||
|
|
||||||
# ANSI compiler
|
|
||||||
#
|
|
||||||
# Set CC to the name of your ANSI compiler.
|
|
||||||
#
|
|
||||||
# Some entries seem to need gcc. If you have gcc, set
|
|
||||||
# both CC and MAY_NEED_GCC to gcc.
|
|
||||||
#
|
|
||||||
# If you do not have gcc, set CC to the name of your ANSI compiler, and
|
|
||||||
# set MAY_NEED_GCC to either ${CC} (and hope for the best) or to just :
|
|
||||||
# to disable such programs.
|
|
||||||
#
|
#
|
||||||
CC= cc
|
CC= cc
|
||||||
#CC=clang
|
#CC=clang
|
||||||
MAY_NEED_GCC= gcc
|
#CC=gcc
|
||||||
|
|
||||||
|
# Compiler add-ons or replacements for clang only
|
||||||
|
#
|
||||||
|
ifeq ($(CC),clang)
|
||||||
|
#
|
||||||
|
CSILENCE+= -Wno-conditional-uninitialized -Wno-missing-prototypes \
|
||||||
|
-Wno-missing-variable-declarations -Wno-poison-system-directories \
|
||||||
|
-Wno-strict-prototypes
|
||||||
|
#
|
||||||
|
CWARN+= -Weverything
|
||||||
|
#
|
||||||
|
endif
|
||||||
|
|
||||||
|
# Specific add-ons or replacements for gcc only
|
||||||
|
#
|
||||||
|
ifeq ($(CC),gcc)
|
||||||
|
#
|
||||||
|
#CSILENCE+=
|
||||||
|
#
|
||||||
|
#CWARN+=
|
||||||
|
#
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
##############################
|
##############################
|
||||||
@@ -98,68 +162,91 @@ MAY_NEED_GCC= gcc
|
|||||||
##############################
|
##############################
|
||||||
#
|
#
|
||||||
ENTRY= birken
|
ENTRY= birken
|
||||||
DATA= examples.tbz2 images.tbz2
|
PROG= ${ENTRY}
|
||||||
|
#
|
||||||
|
OBJ= ${PROG}.o
|
||||||
|
DATA= belmont.txt bloober.txt bomberman.txt boo.txt bub.txt cheepcheep.txt \
|
||||||
|
format.txt gurin.txt happyface.txt helloworld.txt hilbert.txt \
|
||||||
|
ioccc.txt koopaparatroopa.txt lakitu.txt landon.txt leo.txt mario.txt \
|
||||||
|
mspacman.txt multi2.gif multi3.gif multi4.gif multi5.gif names.png \
|
||||||
|
palette.png paranaplant.txt pen0.gif pen1.gif pen2.gif pen4.gif \
|
||||||
|
pen5.gif pen6.gif pen7.gif pen8.gif platform0.gif platform1.gif \
|
||||||
|
platform2.gif rhino.txt rotations.png samus.txt simon.txt snoo.txt \
|
||||||
|
toad.txt triple0.gif triple1.gif
|
||||||
|
TARGET= ${PROG}
|
||||||
|
#
|
||||||
ALT_OBJ=
|
ALT_OBJ=
|
||||||
ALT_ENTRY=
|
ALT_TARGET=
|
||||||
|
|
||||||
|
|
||||||
#################
|
#################
|
||||||
# build the entry
|
# build the entry
|
||||||
#################
|
#################
|
||||||
#
|
#
|
||||||
all: ${ENTRY} data
|
all: data ${TARGET}
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
${ENTRY}: ${ENTRY}.c
|
.PHONY: all alt data everything clean clobber install \
|
||||||
${CC} ${CFLAGS} $< -o $@
|
love haste waste maker easter_egg sandwich \
|
||||||
|
supernova deep_magic magic charon pluto
|
||||||
|
|
||||||
|
${PROG}: ${PROG}.c
|
||||||
|
${CC} ${CFLAGS} $< -o $@ ${LIBS}
|
||||||
|
|
||||||
# alternative executable
|
# alternative executable
|
||||||
#
|
#
|
||||||
alt: ${ALT_ENTRY}
|
alt: data ${ALT_TARGET}
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
# data files
|
# data files
|
||||||
#
|
#
|
||||||
data: ${DATA}
|
data: ${DATA}
|
||||||
${RM} -rf examples
|
|
||||||
@echo extracting examples
|
# both all and alt
|
||||||
${TAR} -jxf examples.tbz2
|
#
|
||||||
${RM} -rf images
|
everything: all alt
|
||||||
@echo extracting images
|
|
||||||
${TAR} -jxf images.tbz2
|
|
||||||
|
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# utility rules
|
# utility rules
|
||||||
###############
|
###############
|
||||||
#
|
#
|
||||||
everything: all alt
|
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
${RM} -f ${ENTRY}.o ${ALT_OBJ}
|
${RM} -f ${OBJ} ${ALT_OBJ}
|
||||||
|
@-if [ -f indent.c ]; then \
|
||||||
clobber: clean
|
echo ${RM} -f indent.c; \
|
||||||
${RM} -f ${ENTRY} ${ALT_ENTRY}
|
${RM} -f indent.c; \
|
||||||
${RM} -rf examples
|
|
||||||
@-if [ ! -e .keep_ioccc_2013 ]; then \
|
|
||||||
echo ${RM} -rf images; \
|
|
||||||
${RM} -rf images; \
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
nuke: clobber
|
clobber: clean
|
||||||
@${TRUE}
|
${RM} -f ${TARGET} ${ALT_TARGET}
|
||||||
|
@-if [ -e sandwich ]; then \
|
||||||
dist_clean: nuke
|
${RM} -f sandwich; \
|
||||||
@${TRUE}
|
echo 'ate sandwich'; \
|
||||||
|
fi
|
||||||
|
|
||||||
install:
|
install:
|
||||||
@echo "Surely we are joking Dr. Lehmer!"
|
@echo "Dr. Spock says that is not logical!"
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
# backwards compatibility
|
# you may be able to misunderstand the source by reading indent.c
|
||||||
#
|
#
|
||||||
build: all
|
indent.c: ${PROG}.c
|
||||||
@${TRUE}
|
@if which "${GINDENT}" >/dev/null 2>&1; then \
|
||||||
|
echo ${RM} -f $@; \
|
||||||
|
${RM} -f $@; \
|
||||||
|
echo "${GINDENT} < $< > $@"; \
|
||||||
|
${GINDENT} < $< > $@; \
|
||||||
|
elif which "${INDENT}" >/dev/null 2>&1; then \
|
||||||
|
echo ${RM} -f $@; \
|
||||||
|
${RM} -f $@; \
|
||||||
|
echo "${INDENT} < $< > $@"; \
|
||||||
|
${INDENT} < $< > $@; \
|
||||||
|
else \
|
||||||
|
echo "no intent tool found, ident $< yourself, sorry"; \
|
||||||
|
echo "exit 1"; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
##################
|
##################
|
||||||
@@ -178,35 +265,69 @@ waste:
|
|||||||
@echo 'haste'
|
@echo 'haste'
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
|
maker:
|
||||||
|
@echo 'Participate in a maker faire'
|
||||||
|
@${TRUE}
|
||||||
|
|
||||||
easter_egg:
|
easter_egg:
|
||||||
@echo you expected to mis-understand this $${RANDOM} magic
|
@echo "you expected to often misunderstand this $${RANDOM} magic"
|
||||||
@echo chongo '<was here>' "/\\oo/\\"
|
@echo "chongo '<was here>' /\\oo/\\"
|
||||||
@echo Readers shall not be disallowed from being unable to not partly misunderstand this partocular final echo.
|
@echo "Eggy"
|
||||||
|
|
||||||
|
sandwich: easter_egg
|
||||||
|
@if [ `id -u` -eq 0 ]; then \
|
||||||
|
echo 'Okay.'; \
|
||||||
|
echo "$${RANDOM}`date +%s`$${RANDOM}" > $@; \
|
||||||
|
else \
|
||||||
|
echo 'What? Make it yourself.'; \
|
||||||
|
exit 1; \
|
||||||
|
fi
|
||||||
|
|
||||||
# Understand the history of the Homebrew Computer Club
|
# Understand the history of the Homebrew Computer Club
|
||||||
# as well as the West Coast Computer Faire and
|
# as well as the West Coast Computer Faire and
|
||||||
# you might be confused different. :-)
|
# you might be confused different. :-)
|
||||||
#
|
#
|
||||||
supernova: nuke
|
supernova: sandwich
|
||||||
@-if [ -r .code_anal ]; then \
|
@-if [ -r .code_anal ]; then \
|
||||||
${RM} -f .code_anal_v4; \
|
${RM} -f .code_anal_v6; \
|
||||||
else \
|
else \
|
||||||
echo "We are not expected to understand that"; \
|
echo "planet deniers, like some members of the IAU, are so cute when they try to defend their logic"; \
|
||||||
fi
|
fi
|
||||||
|
@echo "A $@ helps ${MAKE} the elements that help form planets"
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
deep_magic:
|
deep_magic: supernova
|
||||||
@-if [ -r .code_anal ]; then \
|
@-if [ -r .code_anal ]; then \
|
||||||
ccode_analysis --deep_magic 2ed3582ec5c094a093fea2a6bcb9f19439892873c9cc45ed1ceaafe08b7d52e1b2c7cd524be3b0b2 --FNV1a_hash 512-bit "${ENTRY}"; \
|
ccode_analysis --deep_magic 7889066cdbdf09b0408021754586e895be641cc9be29e7eafd3ca65359541f17 \
|
||||||
|
--FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \
|
||||||
else \
|
else \
|
||||||
echo "Park different"; \
|
echo "Wrong! Do it again!"; \
|
||||||
|
sleep 2; \
|
||||||
|
echo "Wrong! Do it again!"; \
|
||||||
|
sleep 2; \
|
||||||
|
echo "Wrong! Do it again!"; \
|
||||||
fi
|
fi
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
magic: deep_magic
|
magic: deep_magic
|
||||||
@-if [ -r .code_anal ]; then \
|
@-if [ -r .code_anal ]; then \
|
||||||
ccode_analysis --mode 391581 --level 216193 --FNV1a_hash 512-bit "${ENTRY}"; \
|
ccode_analysis --level 20003 --mode 5717175 --FNV1a_hash_512_bit -v2 "${PROG}" "${PROG}.c"; \
|
||||||
else \
|
else \
|
||||||
echo "These aren't the primes you're looking for Paul Erdos!"; \
|
echo "If you don't eat yer meat, you can't have any pudding!"; \
|
||||||
|
echo "How can you have any pudding if you don't eat yer meat?!"; \
|
||||||
fi
|
fi
|
||||||
@${TRUE}
|
@${TRUE}
|
||||||
|
|
||||||
|
# The IOCCC resident astronomer states
|
||||||
|
#
|
||||||
|
charon: magic
|
||||||
|
@echo "$@ is a dwarf planet"
|
||||||
|
@echo "dwarf is a type of planet"
|
||||||
|
@echo "therefore IAU, $@ is a planet"
|
||||||
|
|
||||||
|
pluto: charon
|
||||||
|
${MAKE} charon
|
||||||
|
@echo "$@ is a dwarf planet"
|
||||||
|
@echo "dwarf is a type of planet"
|
||||||
|
@echo "therefore, $@ is a planet"
|
||||||
|
@echo "having lots of planets is good feature because supernovae can help ${MAKE} a lot of them"
|
||||||
+36
-32
@@ -1,26 +1,30 @@
|
|||||||
# Best painting tool
|
# Best painting tool
|
||||||
|
|
||||||
Michael Birken
|
Michael Birken
|
||||||
<o__1@hotmail.com>
|
<o__1@hotmail.com>
|
||||||
<http://www.meatfighter.com/>
|
<http://www.meatfighter.com/>
|
||||||
|
|
||||||
|
# To build:
|
||||||
|
|
||||||
## Judges' comments:
|
```sh
|
||||||
### To build:
|
make
|
||||||
|
```
|
||||||
make birken
|
|
||||||
|
|
||||||
### To run:
|
### To run:
|
||||||
|
|
||||||
./birken < 17_columns_wide_paint_by_numbers_file
|
```sh
|
||||||
|
./birken < 17_columns_wide_paint_by_numbers_file
|
||||||
|
```
|
||||||
|
|
||||||
### Try:
|
### Try:
|
||||||
|
|
||||||
./birken < examples/ioccc.txt
|
```sh
|
||||||
|
./birken < examples/ioccc.txt
|
||||||
|
|
||||||
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
|
perl -e 'map{map{print int(rand()*8);}(0..16);print chr(10);}(0..30);' | tr '[0-4]' ' '| ./birken
|
||||||
|
```
|
||||||
|
|
||||||
### Selected Judges Remarks:
|
## Judges' comments:
|
||||||
|
|
||||||
This program also wins the "Most amusing abuse of the iocccsize tool" award; although not the
|
This program also wins the "Most amusing abuse of the iocccsize tool" award; although not the
|
||||||
absolute best: it is possible to achieve 0 by writing
|
absolute best: it is possible to achieve 0 by writing
|
||||||
@@ -31,13 +35,13 @@ absolute best: it is possible to achieve 0 by writing
|
|||||||
The game of Tetris had been used in many endeavors, from studying [algorithmic complexity](http://arxiv.org/abs/cs/0210020) to [treating PTSD](http://www.livescience.com/19894-tetris-treat-ptsd-flashbacks.html).
|
The game of Tetris had been used in many endeavors, from studying [algorithmic complexity](http://arxiv.org/abs/cs/0210020) to [treating PTSD](http://www.livescience.com/19894-tetris-treat-ptsd-flashbacks.html).
|
||||||
Using it for painting by numbers looks like a novel idea.
|
Using it for painting by numbers looks like a novel idea.
|
||||||
|
|
||||||
|
|
||||||
## Author's comments:
|
## Author's comments:
|
||||||
|
|
||||||
### About This Document
|
### About This Document
|
||||||
|
|
||||||
This document is best viewed as an HTML file in a browser that supports animated gifs. Extract `examples.tbz2` for the sample input files.
|
This document is best viewed as an HTML file in a browser that supports animated gifs.
|
||||||
|
|
||||||
tar -xjvf examples.tbz2
|
See the files: `*.txt`, `*.png` and `*.gif`.
|
||||||
|
|
||||||
### Abstract
|
### Abstract
|
||||||
|
|
||||||
@@ -96,7 +100,7 @@ Since J, T and L Tetriminos are used interchangeably to produce the emitted squa
|
|||||||
### Platforms
|
### Platforms
|
||||||
|
|
||||||
Before a row is constructed, the algorithm inspects the row below it. If the row below fails to provide support for all of the squares to be deposited above it, then a temporary platform is required. When that platform is removed, the new row will drop, leaving some of the squares apparently floating above empty space due to the way that gravity works in the original Tetris.
|
Before a row is constructed, the algorithm inspects the row below it. If the row below fails to provide support for all of the squares to be deposited above it, then a temporary platform is required. When that platform is removed, the new row will drop, leaving some of the squares apparently floating above empty space due to the way that gravity works in the original Tetris.
|
||||||
|
|
||||||
The illustration below depicts the 10 platform patterns (really only 5 considering mirror symmetry). The construction of a platform begins by dropping a T Tetrimino on top one of the squares of the last generated row. The remaining Tetriminos support each other down to that first T. Meaning, as long as the previously generated row contains at least 1 square, like the red square below, then it is possible to construct a flat platform above it for the generation of the next row.
|
The illustration below depicts the 10 platform patterns (really only 5 considering mirror symmetry). The construction of a platform begins by dropping a T Tetrimino on top one of the squares of the last generated row. The remaining Tetriminos support each other down to that first T. Meaning, as long as the previously generated row contains at least 1 square, like the red square below, then it is possible to construct a flat platform above it for the generation of the next row.
|
||||||
|
|
||||||

|

|
||||||
@@ -104,7 +108,7 @@ The illustration below depicts the 10 platform patterns (really only 5 consideri
|
|||||||
In the middle of platform construction, the bottom row gets completed and cleared, leaving 3 rows above it. The final J or L Tetrimino that will remove those rows is not inserted until the square emitters are done generating the next row of the sprite on top of the platform. That final piece precludes square emission in the first and last 2 columns. But, as discussed above, the square emitters are limited to the 17 inner columns due to the geometry of the J, T and L Tetriminos used in the process.
|
In the middle of platform construction, the bottom row gets completed and cleared, leaving 3 rows above it. The final J or L Tetrimino that will remove those rows is not inserted until the square emitters are done generating the next row of the sprite on top of the platform. That final piece precludes square emission in the first and last 2 columns. But, as discussed above, the square emitters are limited to the 17 inner columns due to the geometry of the J, T and L Tetriminos used in the process.
|
||||||
|
|
||||||
Also, of the 19 possible ways to start constructing a platform on top of a T Tetrimino, only the 10 patterns shown above exist.
|
Also, of the 19 possible ways to start constructing a platform on top of a T Tetrimino, only the 10 patterns shown above exist.
|
||||||
|
|
||||||
### Program Input
|
### Program Input
|
||||||
|
|
||||||
The input sprite is represented textually. Digit characters `0` to `7` correspond to pixels with colors from the palette below.
|
The input sprite is represented textually. Digit characters `0` to `7` correspond to pixels with colors from the palette below.
|
||||||
@@ -112,10 +116,10 @@ The input sprite is represented textually. Digit characters `0` to `7` correspo
|
|||||||

|

|
||||||
|
|
||||||
As discussed above, sprites are limited to a maximum of 3 colors from this palette.
|
As discussed above, sprites are limited to a maximum of 3 colors from this palette.
|
||||||
|
|
||||||
All other characters are interpreted as transparent pixels.
|
|
||||||
|
|
||||||
The maximum permissible size of the input text is 32 rows by 17 columns. Row length can vary as long as no single row exceeds 17 characters.
|
All other characters are interpreted as transparent pixels.
|
||||||
|
|
||||||
|
The maximum permissible size of the input text is 32 rows by 17 columns. Row length can vary as long as no single row exceeds 17 characters.
|
||||||
|
|
||||||
Every row must contain at least one palette digit character.
|
Every row must contain at least one palette digit character.
|
||||||
|
|
||||||
@@ -139,14 +143,17 @@ This program demonstrates how to exploit a bug in IOCCC size tool version 2013-0
|
|||||||
|
|
||||||
If that line is added to the top of any program, the tool will report a size of 8.
|
If that line is added to the top of any program, the tool will report a size of 8.
|
||||||
|
|
||||||
./iocccsize -i < prog.c
|
```sh
|
||||||
8
|
$ ./iocccsize -i < prog.c
|
||||||
|
8
|
||||||
|
```
|
||||||
|
|
||||||
When that line is deleted from this program, the tool properly reports the secondary size limit of the program as 2048.
|
When that line is deleted from this program, the tool properly reports the secondary size limit of the program as 2048.
|
||||||
|
|
||||||
./iocccsize -i < prog.c
|
```sh
|
||||||
2048
|
$ ./iocccsize -i < prog.c
|
||||||
|
2048
|
||||||
|
```
|
||||||
|
|
||||||
Although this bug provides an easy means of circumventing contest rule 2, as demonstrated from the size value, this entry is not necessarily striving for a 'worst abuse of the rules' award.
|
Although this bug provides an easy means of circumventing contest rule 2, as demonstrated from the size value, this entry is not necessarily striving for a 'worst abuse of the rules' award.
|
||||||
|
|
||||||
@@ -162,8 +169,8 @@ Carefully selected variable names also yielded wonderful expressions like `l=0`,
|
|||||||
|
|
||||||
The source is formatted to resemble the Tetris playfield midgame. It is also an homage to all the past IOCCC entries formatted as a compact block of text; the T, orientated appropriately to reflect its name and the first letter in the title of the game, is just a moment away from producing such a text block.
|
The source is formatted to resemble the Tetris playfield midgame. It is also an homage to all the past IOCCC entries formatted as a compact block of text; the T, orientated appropriately to reflect its name and the first letter in the title of the game, is just a moment away from producing such a text block.
|
||||||
|
|
||||||
Three tables are encoded as separate strings within the program:
|
Three tables are encoded as separate strings within the program:
|
||||||
|
|
||||||
The first string stores the coordinates of the squares of the 19 distinct rotations of Tetriminos (see below). Since a Tetrimino is a chain of 4 squares, all Tetriminos fit within a 4×4 matrix. To determine the coordinates of the squares, the Tetrimino is pushed to the upper-left of the matrix. Each coordinate value requires 2 bits of storage. Consequentially, the four x-coordinates and the four y-coordinates were packed into separate octets. To convert the octets into valid ASCII characters, the squares were sorted such that the least significant bits stored the largest coordinate values. The results were offset by 35, the `#` character, which is 1 beyond the ASCII value of `"`, making it easier to pack into a string. None of the resultant values are beyond ASCII 127. The coordinates for all 19 rotations fit in a string of length 38.
|
The first string stores the coordinates of the squares of the 19 distinct rotations of Tetriminos (see below). Since a Tetrimino is a chain of 4 squares, all Tetriminos fit within a 4×4 matrix. To determine the coordinates of the squares, the Tetrimino is pushed to the upper-left of the matrix. Each coordinate value requires 2 bits of storage. Consequentially, the four x-coordinates and the four y-coordinates were packed into separate octets. To convert the octets into valid ASCII characters, the squares were sorted such that the least significant bits stored the largest coordinate values. The results were offset by 35, the `#` character, which is 1 beyond the ASCII value of `"`, making it easier to pack into a string. None of the resultant values are beyond ASCII 127. The coordinates for all 19 rotations fit in a string of length 38.
|
||||||
|
|
||||||

|

|
||||||
@@ -174,7 +181,7 @@ The third string conceptually stores the default colors of the 19 rotations. A
|
|||||||
|
|
||||||
The program is full of subtle obfuscations:
|
The program is full of subtle obfuscations:
|
||||||
|
|
||||||
* The unary decrement operator is used in conjunction with global variable automatic zero initialization to set variables to `-1`.
|
* The unary decrement operator is used in conjunction with global variable automatic zero initialization to set variables to `-1`.
|
||||||
|
|
||||||
* The boolean expression of the form, `x + 1`, is used multiple times to determine if a value is not `-1`. Similarly, expressions of the form `x - y` are used to determine if `x != y`.
|
* The boolean expression of the form, `x + 1`, is used multiple times to determine if a value is not `-1`. Similarly, expressions of the form `x - y` are used to determine if `x != y`.
|
||||||
|
|
||||||
@@ -184,7 +191,7 @@ The program is full of subtle obfuscations:
|
|||||||
|
|
||||||
* Variable `i` is less than necessary.
|
* Variable `i` is less than necessary.
|
||||||
|
|
||||||
* A cursorily glance at the expressions `4&&L` and `m&&e==m` suggests that they always evaluate to true.
|
* A cursorily glance at the expressions `4&&L` and `m&&e==m` suggests that they always evaluate to true.
|
||||||
|
|
||||||
* The varying single square emitter pattern lengths are resolved during string decoding using the clever expression, `(i & 3) - 3`, which identifies pattern 3 and 7 as longer.
|
* The varying single square emitter pattern lengths are resolved during string decoding using the clever expression, `(i & 3) - 3`, which identifies pattern 3 and 7 as longer.
|
||||||
|
|
||||||
@@ -249,13 +256,10 @@ The origin of the remaining files are described below:
|
|||||||
* `happyface.txt` - Based on a smiley; rights unknown
|
* `happyface.txt` - Based on a smiley; rights unknown
|
||||||
* `snoo.txt` - 8-bit version of Snoo, Reddit's alien mascot
|
* `snoo.txt` - 8-bit version of Snoo, Reddit's alien mascot
|
||||||
|
|
||||||
|
## Copyright:
|
||||||
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
|
||||||
<!--
|
|
||||||
(c) Copyright 1984-2015, [Leo Broukhis, Simon Cooper, Landon Curt Noll][judges] - All rights reserved
|
(c) Copyright 1984-2015, [Leo Broukhis, Simon Cooper, Landon Curt Noll][judges] - All rights reserved
|
||||||
This work is licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License][cc].
|
This work is licensed under a [Creative Commons Attribution-ShareAlike 3.0 Unported License][cc].
|
||||||
|
|
||||||
[judges]: http://www.ioccc.org/judges.html
|
[judges]: http://www.ioccc.org/judges.html
|
||||||
[cc]: http://creativecommons.org/licenses/by-sa/3.0/
|
[cc]: http://creativecommons.org/licenses/by-sa/3.0/
|
||||||
-->
|
|
||||||
@@ -0,0 +1,30 @@
|
|||||||
|
1111
|
||||||
|
111111
|
||||||
|
1111771
|
||||||
|
1113731
|
||||||
|
1111113771
|
||||||
|
13333111371
|
||||||
|
11333337111
|
||||||
|
1113333337
|
||||||
|
177113311111
|
||||||
|
171111111771111
|
||||||
|
1111111117711771
|
||||||
|
11111117131771
|
||||||
|
1111311133171
|
||||||
|
31111111111
|
||||||
|
1313131
|
||||||
|
1111311
|
||||||
|
11113113
|
||||||
|
111111113
|
||||||
|
177711771
|
||||||
|
1777117771
|
||||||
|
17711 17711
|
||||||
|
1171 1171
|
||||||
|
13111 1111
|
||||||
|
11331 1331
|
||||||
|
11331 1331
|
||||||
|
1331 1331
|
||||||
|
1331 131
|
||||||
|
1331 133311
|
||||||
|
13331 133331
|
||||||
|
11111 111111
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
7557
|
||||||
|
757757
|
||||||
|
75777757
|
||||||
|
7757777577
|
||||||
|
775777777577
|
||||||
|
77757777775777
|
||||||
|
7775777777775777
|
||||||
|
5777777775
|
||||||
|
7777777777
|
||||||
|
7 7
|
||||||
|
77 77
|
||||||
|
7 7 7 7
|
||||||
|
7 7 7 7
|
||||||
|
7 77 77 7
|
||||||
|
775577775577
|
||||||
|
577777777775
|
||||||
|
77 777777 77
|
||||||
|
57 57 75 75
|
||||||
|
77 77 77 77
|
||||||
|
57 57 75 75
|
||||||
|
7 77 77 7
|
||||||
|
7 57 75 7
|
||||||
|
7 7 7 7
|
||||||
|
7 7
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
777777
|
||||||
|
77777777
|
||||||
|
71 11 17
|
||||||
|
71 11 17
|
||||||
|
77777777
|
||||||
|
777777
|
||||||
|
6666
|
||||||
|
1177666667
|
||||||
|
11766666677
|
||||||
|
66666677
|
||||||
|
666666 11
|
||||||
|
776666 11
|
||||||
|
776677
|
||||||
|
77 11
|
||||||
|
11 11
|
||||||
|
11
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
77777777
|
||||||
|
77744444477
|
||||||
|
7744777774477
|
||||||
|
4477744777447
|
||||||
|
774444477777477
|
||||||
|
747444777777447
|
||||||
|
747474777777747
|
||||||
|
741474717477747
|
||||||
|
741717117747747
|
||||||
|
741717117774747
|
||||||
|
741111117447747
|
||||||
|
7741111777777477
|
||||||
|
747777777777747
|
||||||
|
774447777444477
|
||||||
|
7774444447777
|
||||||
|
77777777
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
1
|
||||||
|
111
|
||||||
|
111122222
|
||||||
|
112222222
|
||||||
|
222277272
|
||||||
|
11122277 2 7
|
||||||
|
1222277 2 7
|
||||||
|
222277 2 72
|
||||||
|
11222277 2 72
|
||||||
|
122222772722
|
||||||
|
2122 7
|
||||||
|
21112222222
|
||||||
|
2111227777
|
||||||
|
121122777777
|
||||||
|
1222221177777
|
||||||
|
2222221111777111
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
3333
|
||||||
|
33333
|
||||||
|
1111113
|
||||||
|
717711111
|
||||||
|
77777711111777
|
||||||
|
717177111177777
|
||||||
|
717177111777777
|
||||||
|
77777711777777
|
||||||
|
7177111777777
|
||||||
|
3331111111111 3
|
||||||
|
13311111111133
|
||||||
|
1331111111133
|
||||||
|
133771111113
|
||||||
|
3333777111133
|
||||||
|
777777771 3
|
||||||
|
77777
|
||||||
Binary file not shown.
@@ -0,0 +1,12 @@
|
|||||||
|
111111
|
||||||
|
111111
|
||||||
|
11
|
||||||
|
11
|
||||||
|
66 6633
|
||||||
|
66 6633
|
||||||
|
6666 666633
|
||||||
|
6666 666633
|
||||||
|
336611116633
|
||||||
|
336611116633
|
||||||
|
333333111133
|
||||||
|
333333111133
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
66666
|
||||||
|
6666666
|
||||||
|
6776776
|
||||||
|
667777776
|
||||||
|
677 7 776
|
||||||
|
677 7 776
|
||||||
|
67733376666
|
||||||
|
6633333336666
|
||||||
|
66633333666666
|
||||||
|
666677777766
|
||||||
|
666677777776
|
||||||
|
666 677777777
|
||||||
|
77777777733
|
||||||
|
7777777333
|
||||||
|
3333773333
|
||||||
|
333333
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
444444
|
||||||
|
4433333344
|
||||||
|
433333333334
|
||||||
|
43333 3 3334
|
||||||
|
4333 77 77 334
|
||||||
|
43333 7 7 3334
|
||||||
|
43333 7 7 3334
|
||||||
|
43333 7 7 3334
|
||||||
|
433333 3 33334
|
||||||
|
4333333333333334
|
||||||
|
4333 33333333334
|
||||||
|
4333 3334
|
||||||
|
43333333333334
|
||||||
|
433333333334
|
||||||
|
4433333344
|
||||||
|
444444
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
1 1 11 1 1 1
|
||||||
|
1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1
|
||||||
|
111 11 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1
|
||||||
|
1 1 1 1 1 1 1
|
||||||
|
1 1 11 11 11 1 1
|
||||||
|
1 1 1
|
||||||
|
244424
|
||||||
|
4244422244
|
||||||
|
422442244242
|
||||||
|
42222222244444
|
||||||
|
44422222424444
|
||||||
|
4444422222224444
|
||||||
|
4444222222224444
|
||||||
|
4444222222244444
|
||||||
|
4444222222444444
|
||||||
|
2444422442422444
|
||||||
|
4444442244444444
|
||||||
|
44444422442224
|
||||||
|
44444444222224
|
||||||
|
444444442222
|
||||||
|
4444444222
|
||||||
|
444444
|
||||||
@@ -0,0 +1,31 @@
|
|||||||
|
111 111 111 111
|
||||||
|
121 121 121 121
|
||||||
|
1211121 1211121
|
||||||
|
1222221 1222221
|
||||||
|
1112111 1112111
|
||||||
|
121 121
|
||||||
|
111211111112111
|
||||||
|
122222222222221
|
||||||
|
121111121111121
|
||||||
|
121 121 121
|
||||||
|
111 1112111 111
|
||||||
|
1222221
|
||||||
|
111 1112111 111
|
||||||
|
121 121 121
|
||||||
|
121111121111121
|
||||||
|
122222222222221
|
||||||
|
121111121111121
|
||||||
|
121 121 121
|
||||||
|
111 1112111 111
|
||||||
|
1222221
|
||||||
|
111 1112111 111
|
||||||
|
121 121 121
|
||||||
|
121111121111121
|
||||||
|
122222222222221
|
||||||
|
111211111112111
|
||||||
|
121 121
|
||||||
|
1112111 1112111
|
||||||
|
1222221 1222221
|
||||||
|
1211121 1211121
|
||||||
|
121 121 121 121
|
||||||
|
111 111 111 111
|
||||||
Binary file not shown.
@@ -0,0 +1,31 @@
|
|||||||
|
4 1111111111177 4
|
||||||
|
11177
|
||||||
|
4 11177 4
|
||||||
|
11177
|
||||||
|
4 11177 4
|
||||||
|
1111111111177
|
||||||
|
4 4
|
||||||
|
1111111111177
|
||||||
|
4 111177 111177 4
|
||||||
|
111177 111177
|
||||||
|
4 111177 111177 4
|
||||||
|
1111111111177
|
||||||
|
4 4
|
||||||
|
1111111111177
|
||||||
|
4 1177 4
|
||||||
|
1177
|
||||||
|
4 1177 4
|
||||||
|
1111111111177
|
||||||
|
4 4
|
||||||
|
1111111111177
|
||||||
|
4 1177 4
|
||||||
|
1177
|
||||||
|
4 1177 4
|
||||||
|
1111111111177
|
||||||
|
4 4
|
||||||
|
1111111111177
|
||||||
|
4 1177 4
|
||||||
|
1177
|
||||||
|
4 1177 4
|
||||||
|
1111111111177
|
||||||
|
4 4
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
7 77
|
||||||
|
777 7777
|
||||||
|
7773 77777
|
||||||
|
317733 77777
|
||||||
|
317733 77377
|
||||||
|
317733 737777
|
||||||
|
377733 7737777
|
||||||
|
3337333 737777
|
||||||
|
3133333 73777 7
|
||||||
|
333333 7377777
|
||||||
|
333 33 1173777
|
||||||
|
33 33 11777111
|
||||||
|
33 337111313111
|
||||||
|
3 337113111313
|
||||||
|
337311111131
|
||||||
|
3377131111131
|
||||||
|
371313111313
|
||||||
|
373111313111
|
||||||
|
71111131111
|
||||||
|
771113131777
|
||||||
|
33777311777
|
||||||
|
3333377777333
|
||||||
|
33333 3333
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
33333
|
||||||
|
3333333
|
||||||
|
222322233
|
||||||
|
2777277723
|
||||||
|
27777777232
|
||||||
|
277272772322
|
||||||
|
277272772322
|
||||||
|
22232222222
|
||||||
|
333222233322
|
||||||
|
3333322333332
|
||||||
|
23333377333332
|
||||||
|
27333777733372
|
||||||
|
27777777777772
|
||||||
|
2777777777777772
|
||||||
|
2777772772777772
|
||||||
|
2777772772777772
|
||||||
|
2777772772777772
|
||||||
|
2777777777777772
|
||||||
|
2727777777777272
|
||||||
|
27772777727772
|
||||||
|
27777222277772
|
||||||
|
27777777777772
|
||||||
|
277772277772
|
||||||
|
2222 2222
|
||||||
@@ -0,0 +1,33 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
4444444
|
||||||
|
444444444
|
||||||
|
444444444444
|
||||||
|
44433334444444
|
||||||
|
444333333444444
|
||||||
|
4433333333344444
|
||||||
|
4433333333334444
|
||||||
|
4433333333333344
|
||||||
|
4433333333333344
|
||||||
|
44433443333443344
|
||||||
|
43344774444774444
|
||||||
|
43334774334774344
|
||||||
|
43333443333443344
|
||||||
|
43333333343333344
|
||||||
|
4333333444333334
|
||||||
|
43343333333434
|
||||||
|
4334444444334
|
||||||
|
443344444334
|
||||||
|
43433333334
|
||||||
|
44334334334
|
||||||
|
444433444444
|
||||||
|
4447433444444
|
||||||
|
444774333334444
|
||||||
|
44447433333444444
|
||||||
|
44447743334744444
|
||||||
|
44444774447744444
|
||||||
|
44444774744744444
|
||||||
|
44444447774744444
|
||||||
|
44444447774774444
|
||||||
|
44444447774774444
|
||||||
@@ -0,0 +1,29 @@
|
|||||||
|
44444 4444
|
||||||
|
444444444444
|
||||||
|
4444444444444
|
||||||
|
44444444444444
|
||||||
|
444444444444444
|
||||||
|
4444444444444444
|
||||||
|
44444444443333444
|
||||||
|
44444444433333344
|
||||||
|
44333333333333344
|
||||||
|
44333333333333344
|
||||||
|
44333333333333344
|
||||||
|
4433 3333 334
|
||||||
|
43 333 33 333 34
|
||||||
|
3337 733 37 7333
|
||||||
|
33333333 3333333
|
||||||
|
3333333333333333
|
||||||
|
333333 33 333333
|
||||||
|
333333 333333
|
||||||
|
3333 3333 3333
|
||||||
|
33333 33333
|
||||||
|
33 33 33 33
|
||||||
|
3 333333 3 44
|
||||||
|
4 3 3333 3 344
|
||||||
|
43 3344
|
||||||
|
4444333333333444
|
||||||
|
44444333333333444
|
||||||
|
44444333333334444
|
||||||
|
44444333333344444
|
||||||
|
44444433333444444
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
77777
|
||||||
|
7777773
|
||||||
|
77777733
|
||||||
|
77777777777
|
||||||
|
111331333
|
||||||
|
133133113333
|
||||||
|
1331133333333
|
||||||
|
11331133313333
|
||||||
|
1133333111111
|
||||||
|
1113333311111
|
||||||
|
1133333333
|
||||||
|
11133
|
||||||
|
7777117 3
|
||||||
|
111177117 333
|
||||||
|
11111177171333
|
||||||
|
111111177117333
|
||||||
|
111111177117131
|
||||||
|
11111177711711
|
||||||
|
11111177737131
|
||||||
|
1111777777777
|
||||||
|
3333377777777
|
||||||
|
3333377777777 1
|
||||||
|
3333777777777 11
|
||||||
|
333777777711111
|
||||||
|
7177777711111
|
||||||
|
17717777711111
|
||||||
|
1117771177711111
|
||||||
|
11117777 11111
|
||||||
|
111117
|
||||||
|
111
|
||||||
|
111
|
||||||
|
111
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
11
|
||||||
|
3333111
|
||||||
|
3333331141
|
||||||
|
3333333331411
|
||||||
|
333 333 33111
|
||||||
|
333333 34 311
|
||||||
|
33333 3 33
|
||||||
|
3333 3333
|
||||||
|
333 333
|
||||||
|
31 13
|
||||||
|
1 4444 1
|
||||||
|
44444444
|
||||||
|
4444444444
|
||||||
|
444444444444
|
||||||
|
444444444444
|
||||||
|
444114411444
|
||||||
|
44441144114444
|
||||||
|
44444444444444
|
||||||
|
44444444444444
|
||||||
|
44114411441144
|
||||||
|
41441144114414
|
||||||
|
44444444444444
|
||||||
|
44 444 444 44
|
||||||
|
4 44 44 4
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
2 2
|
||||||
|
2377 7732
|
||||||
|
227 722
|
||||||
|
32277 77223
|
||||||
|
22237 73222
|
||||||
|
3222277 7722223
|
||||||
|
223227 722322
|
||||||
|
22222 22222
|
||||||
|
2322227 7222232
|
||||||
|
2222327 7232222
|
||||||
|
322222 222223
|
||||||
|
223222 222322
|
||||||
|
22223 32222
|
||||||
|
2322222232
|
||||||
|
232232
|
||||||
|
33 33 33
|
||||||
|
3233 33 3323
|
||||||
|
3233 33 3323
|
||||||
|
33233 33 33233
|
||||||
|
3323 33 3233
|
||||||
|
333233332333
|
||||||
|
3333333333
|
||||||
|
3333
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
66666666666666666
|
||||||
|
66666666666666666
|
||||||
|
66666666666666666
|
||||||
|
66666666666666666
|
||||||
|
66666666 6666
|
||||||
|
6666666 55555 66
|
||||||
|
666 66 555555 6 5
|
||||||
|
66 66 55555 5
|
||||||
|
6 7 66 55555555 5
|
||||||
|
6 7 666 5555555 5
|
||||||
|
6 7 6666 555555
|
||||||
|
6 7 666 777 555
|
||||||
|
6 77 66 77 777 55
|
||||||
|
777 66 7 777 55
|
||||||
|
777 6 7 7 55
|
||||||
|
7777 555 7 55
|
||||||
|
7777 555 7 55
|
||||||
|
77777 5555 555
|
||||||
|
777777 555555555
|
||||||
|
6 777777 55555555
|
||||||
|
7777777 55555 5
|
||||||
|
7777777 5555 7
|
||||||
|
5 7777 5555 77
|
||||||
|
55 55555 7 7
|
||||||
|
5555555555 777
|
||||||
|
555555555 7 7 7
|
||||||
|
6 555555 777 77
|
||||||
|
66 7 7 7 5
|
||||||
|
666666 777 7777 5
|
||||||
|
6666666 7 77 55
|
||||||
|
66666666 777 555
|
||||||
|
666666666 55555
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
11
|
||||||
|
113311
|
||||||
|
12111121
|
||||||
|
23211232
|
||||||
|
1223223221
|
||||||
|
12 2222 21
|
||||||
|
111 22 111
|
||||||
|
333 11 11 333
|
||||||
|
3333321 1233333
|
||||||
|
3333312112133333
|
||||||
|
23311311311332
|
||||||
|
33113113111133
|
||||||
|
3 2111111112 3
|
||||||
|
11 21122112 11
|
||||||
|
32232 233223 33
|
||||||
|
2232 3333 1333
|
||||||
|
2 2222333311113
|
||||||
|
2 2 33331 11
|
||||||
|
2 2 33 11
|
||||||
|
223 33311
|
||||||
|
33 33
|
||||||
|
33 33
|
||||||
|
133 331
|
||||||
|
31 13
|
||||||
|
333 333
|
||||||
|
333 333
|
||||||
|
333 333
|
||||||
|
1131 1311
|
||||||
|
2221 1222
|
||||||
|
11112 21111
|
||||||
|
11111 11111
|
||||||
|
111 111
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
3333
|
||||||
|
33333333
|
||||||
|
3333333333
|
||||||
|
333333333333
|
||||||
|
333333333333
|
||||||
|
33333333333333
|
||||||
|
33333333333333
|
||||||
|
33 3333 33
|
||||||
|
33 3333333333 33
|
||||||
|
3337 73 337 7333
|
||||||
|
3333333 33333333
|
||||||
|
3333333333333333
|
||||||
|
333333 33 333333
|
||||||
|
333333 333333
|
||||||
|
33333333333333
|
||||||
|
3 3 3333 3 3
|
||||||
|
3 33 33 3
|
||||||
|
333333333333
|
||||||
|
433 3333 334
|
||||||
|
4443333 333344
|
||||||
|
44433333333333344
|
||||||
|
44433333333333344
|
||||||
|
44443333333333444
|
||||||
|
44444333333334444
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
77
|
||||||
|
7 77 7
|
||||||
|
7 777
|
||||||
|
7 7
|
||||||
|
7
|
||||||
|
7777777
|
||||||
|
77 77777777777 77
|
||||||
|
7 7777777777777 7
|
||||||
|
777711777117777
|
||||||
|
77777117771177777
|
||||||
|
77777777777777777
|
||||||
|
77777777777777777
|
||||||
|
7777 77777 7777
|
||||||
|
7777 7777
|
||||||
|
77777777777
|
||||||
|
77777
|
||||||
|
7 7 7 7
|
||||||
|
77 7777777 77
|
||||||
|
77 7777777 77
|
||||||
|
77 7777777 77
|
||||||
|
77 7777777 77
|
||||||
|
7 7777777 7
|
||||||
|
7777777
|
||||||
|
7777777
|
||||||
|
7777777
|
||||||
|
77 77777 77
|
||||||
|
7777 777 7777
|
||||||
@@ -0,0 +1,27 @@
|
|||||||
|
4444444
|
||||||
|
44477774444
|
||||||
|
4444777444474
|
||||||
|
444477774444774
|
||||||
|
477744777447774
|
||||||
|
4774444777774774
|
||||||
|
4474444777444474
|
||||||
|
4477447777444474
|
||||||
|
4477777777444474
|
||||||
|
4744444477744774
|
||||||
|
443434344777744
|
||||||
|
44343433347744
|
||||||
|
433333334444
|
||||||
|
4333333344
|
||||||
|
44433444
|
||||||
|
443334334
|
||||||
|
44433443334
|
||||||
|
434333444334
|
||||||
|
434333433334
|
||||||
|
434333433344
|
||||||
|
474447444744
|
||||||
|
4777777777774
|
||||||
|
44477777777774
|
||||||
|
44447777777744
|
||||||
|
44444444777444
|
||||||
|
4444 44444
|
||||||
|
44 444
|
||||||
Reference in new issue
Block a user