Move 1988-2004 entries into subdirs
We we move 1988-2004 entries from all of a year's winning entries in a single directory to each winner being in their own sub-directory under the given year directory.
This commit is contained in:
1 parent
1e82e8aa3e
commit
d2a42f42e8
478 files changed
No files matched your search
@@ -0,0 +1,30 @@
|
||||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
#include<stdlib.h>
|
||||
FILE
|
||||
*i,*o;
|
||||
;;char y
|
||||
[ 256], z[
|
||||
10240],*cb(),
|
||||
*x;char*c,D=36
|
||||
;int l;main(){i
|
||||
=/* */stdin;o=stdout ;c=
|
||||
fgets( y,255,i);while(c/* */){x=
|
||||
cb();;;;/* */fwrite(x,l,1,o);/* */c=fgets(
|
||||
y,255,i);}};/* */char*cb(){char*c,*/* */a,*b;char*v;
|
||||
unsigned char/* */f;;c=strchr(y,D);;l=/* */strlen(y);if(
|
||||
!c){return(y);/* */}a=y;b=z;while(*a){if(/* */*a!=D) *b++=*a
|
||||
++;else{a++;c=/* */strchr(a,D);if(c){*c=0;;/* */if(strchr(a,32
|
||||
)){*c=D;*b++=D/* */;}else{;v=getenv(a);if(v){/* */while(*v){if(*
|
||||
v!=92)*b++=*v/* */++;else{f=0/* ** */;v++;if/* */(*v<48||*v>57
|
||||
)*b++=92;/*p%* */else{f=(*v/* */++/* */)-48;;/* */if(*v<48||*v
|
||||
>57)*b++=f;/* */else{f=(/* */f<<3)+(/* */*v++)/* */-48;;*b++=(
|
||||
(*v<48||*/* */v>57)?f/* */:((f<<3)+(*/* */v++)/* */-48));}}}
|
||||
;}a=c+1/* */;}else/* */{*c=D;*b++=D;;;;/* */while (*a != D)
|
||||
*b++/* */=*a++/* */;a++;*b++=D;}}}else{/* */*b/* */++=D;
|
||||
}/* */}}l=/* */b-z;return(z);}int*tng()/* *//* *)'
|
||||
*/{if/* */(x==c||c!=x){x=cb();l<<=l>>1/* *(*
|
||||
*/;/* */;strcpy(&D,"(C)1995");l=l/* */
|
||||
*l;/* */}/*G.Glendown%^x*//* ;
|
||||
*/
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
#include<stdlib.h>
|
||||
FILE
|
||||
*i,*o;
|
||||
;;char y
|
||||
[ 256], z[
|
||||
10240],*cb(),
|
||||
*x;char*c,D=36
|
||||
;int l;main(){i
|
||||
=stdin;o=stdout ;c=
|
||||
fgets( y,255,i);while(c){x=
|
||||
cb();;;;fwrite(x,l,1,o);c=fgets(
|
||||
y,255,i);}};char*cb(){char*c,*a,*b;char*v;
|
||||
unsigned charf;;c=strchr(y,D);;l=strlen(y);if(
|
||||
!c){return(y);}a=y;b=z;while(*a){if(*a!=D) *b++=*a
|
||||
++;else{a++;c=strchr(a,D);if(c){*c=0;;if(strchr(a,32
|
||||
)){*c=D;*b++=D;}else{;v=getenv(a);if(v){while(*v){if(*
|
||||
v!=92)*b++=*v++;else{f=0;v++;if(*v<48||*v>57
|
||||
)*b++=92;else{f=(*v++)-48;;if(*v<48||*v
|
||||
>57)*b++=f;else{f=(f<<3)+(*v++)-48;;*b++=(
|
||||
(*v<48||*v>57)?f:((f<<3)+(*v++)-48));}}}
|
||||
;}a=c+1;}else{*c=D;*b++=D;;;;while (*a != D)
|
||||
*b++=*a++;a++;*b++=D;}}}else{*b++=D;
|
||||
}}}l=b-z;return(z);}int*tng()
|
||||
{if(x==c||c!=x){x=cb();l<<=l>>1
|
||||
;;strcpy(&D,"(C)1995");l=l
|
||||
*l;}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
This is a short example to demonstrate the use of the garry program ...
|
||||
|
||||
Your Home-directory is $HOME$, while you search
|
||||
for programs at the following places:
|
||||
$PATH$
|
||||
|
||||
Here's some nice conversion using escaped values:
|
||||
|
||||
$EXAMPLEON$ this should be reverse on VT100's $EXAMPLEOFF$
|
||||
while this shouldn't ...
|
||||
|
||||
=============================================
|
||||
The garry.test file looks like the following:
|
||||
=============================================
|
||||
|
||||
#!/bin/sh
|
||||
#
|
||||
# garry.test - example of how to use garry
|
||||
|
||||
EXAMPLEON="\33\133\61\73\67\155"
|
||||
EXAMPLEOFF="\33\133\155"
|
||||
DOLLAR="$"
|
||||
export EXAMPLEON EXAMPLEOFF DOLLAR
|
||||
|
||||
./garry <garry.data
|
||||
|
||||
==================================================
|
||||
When the following is processed, it will look like
|
||||
the first 10 lines of this file:
|
||||
==================================================
|
||||
|
||||
This is a short example to demonstrate the use of the garry program ...
|
||||
|
||||
Your Home-directory is $DOLLAR$HOME$, while you search
|
||||
for programs at the following places:
|
||||
$DOLLAR$PATH$
|
||||
|
||||
Here's some nice conversion using escaped values:
|
||||
|
||||
$DOLLAR$EXAMPLEON$ this should be reverse on VT100's $DOLLAR$EXAMPLEOFF$
|
||||
while this shouldn't ...
|
||||
@@ -0,0 +1,93 @@
|
||||
#include<stdio.h>
|
||||
#include<string.h>
|
||||
#include<stdlib.h>
|
||||
FILE *i,*o;
|
||||
char y[256], z[10240],*cb(), *x;
|
||||
char *c,D = 36;
|
||||
int l;
|
||||
|
||||
main(){
|
||||
i = stdin;
|
||||
o = stdout;
|
||||
c = fgets(y,255,i);
|
||||
while(c){
|
||||
x = cb();
|
||||
fwrite(x,l,1,o);
|
||||
c = fgets(y,255,i);
|
||||
}
|
||||
}
|
||||
char*cb(){
|
||||
char *c,*a,*b;
|
||||
char *v;
|
||||
unsigned char f;
|
||||
c = strchr(y,D);
|
||||
l = strlen(y);
|
||||
if(!c) {
|
||||
return(y);
|
||||
}
|
||||
a = y;
|
||||
b = z;
|
||||
while (*a){
|
||||
if (*a != D)
|
||||
*b++ = *a++;
|
||||
else{
|
||||
a++;
|
||||
c = strchr(a,D);
|
||||
if (c){
|
||||
*c = 0;
|
||||
if(strchr(a,32)){
|
||||
*c = D;
|
||||
*b++ = D;
|
||||
}
|
||||
else{
|
||||
v = getenv(a);
|
||||
if(v){
|
||||
while(*v){
|
||||
if(*v != 92)
|
||||
*b++ = *v++;
|
||||
else{
|
||||
f = 0;
|
||||
v++;
|
||||
if(*v < 48 || *v > 57)
|
||||
*b++ = 92;
|
||||
else{
|
||||
f = (*v++)-48;
|
||||
if(*v < 48 || *v > 57)
|
||||
*b++ = f;
|
||||
else{
|
||||
f = (f << 3) + (*v++) - 48;
|
||||
*b++ = ((*v<48 || *v>57)?f:((f<<3)+(*v++)-48));
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
a = c + 1;
|
||||
}
|
||||
else{
|
||||
*c = D;
|
||||
*b++ = D;
|
||||
while (*a != D)
|
||||
*b++ = *a++ ;
|
||||
a++;
|
||||
*b++ = D;
|
||||
}
|
||||
}
|
||||
}
|
||||
else{
|
||||
*b++ = D;
|
||||
}
|
||||
}
|
||||
}
|
||||
l = b - z;
|
||||
return(z);
|
||||
}
|
||||
|
||||
int *tng()
|
||||
{
|
||||
if(x == c || c != x){
|
||||
x = cb();
|
||||
l <<= l >> 1;
|
||||
strcpy(&D,"(C)1995");
|
||||
l = l *l;
|
||||
} /*G.Glendown*/
|
||||
}
|
||||
@@ -0,0 +1,61 @@
|
||||
Best Utility:
|
||||
|
||||
Garry Glendown
|
||||
G\"uldene Kammer 35
|
||||
36251 Bad Hersfeld
|
||||
Germany
|
||||
|
||||
|
||||
Judges' comments:
|
||||
|
||||
To use:
|
||||
make garry garry.test
|
||||
|
||||
Try:
|
||||
garry.test
|
||||
|
||||
In general, try:
|
||||
|
||||
garry <input_file >output_file
|
||||
|
||||
While it may not have been the intention of the submitter, the
|
||||
judges noted that the C pre-processed version (with the #includes
|
||||
left intact) looked very much like a rat "dropping core". See
|
||||
garry.cpp and judge for yourself!
|
||||
|
||||
The author was kind enough to provide a less obfuscated version of
|
||||
the source called garry.fmt.c.
|
||||
|
||||
|
||||
Selected notes from the author:
|
||||
|
||||
This program is a file filter, designed to do environment-expansion and
|
||||
incorporating the ability to create binary from escaped data in the
|
||||
environment variables.
|
||||
|
||||
The calling syntax is pretty simple, just use it with stdio-redirection
|
||||
or inside pipelines, e.g.:
|
||||
|
||||
progname <file_to_convert >converted_file
|
||||
|
||||
or
|
||||
|
||||
cat all_my_files/* | progname | lp
|
||||
|
||||
The syntax of the conversion of the input file is as follows: To include
|
||||
the value of an environment variable in the output file, place the name
|
||||
of the variable between "$"-signs in the input, e.g.:
|
||||
|
||||
My Home-Directory is: $HOME$
|
||||
I'm using the path: $PATH$
|
||||
|
||||
Unknown Env-variables or misformed expressions are ignored and kept
|
||||
intact.
|
||||
|
||||
Additionally, the filter replaces escaped octal values in the
|
||||
environment variables by their binary representation, e.g.:
|
||||
|
||||
$ TEST="\110\145\154\154\157"
|
||||
$ export TEST
|
||||
$ echo '$TEST$' | progname
|
||||
Hello
|
||||
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# garry.test - example of how to use garry
|
||||
|
||||
EXAMPLEON="\33\133\61\73\67\155"
|
||||
EXAMPLEOFF="\33\133\155"
|
||||
DOLLAR="$"
|
||||
export EXAMPLEON EXAMPLEOFF DOLLAR
|
||||
|
||||
./garry <garry.data
|
||||
Reference in new issue
Block a user