diff --git a/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/alcatraz.png b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/alcatraz.png new file mode 100644 index 0000000..3024671 --- /dev/null +++ b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/alcatraz.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd1688407f16f1883d3af36a236858cd72a747405984068016865a9be736fd5f +size 18879 diff --git a/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/cases.txt b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/cases.txt new file mode 100644 index 0000000..18605c8 --- /dev/null +++ b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/cases.txt @@ -0,0 +1,192 @@ +7 4 5 +2 7 6 +6 5 2 +3 1 1 +9 9 1 +2 4 3 +3 5 1 +6 8 1 +7 5 4 +8 9 2 +6 5 2 +1 9 5 +8 9 1 +4 4 3 +1 4 3 +6 2 6 +4 9 1 +6 9 3 +1 9 8 +4 8 6 +7 5 5 +3 5 1 +5 2 4 +8 3 2 +9 2 8 +3 7 6 +9 3 2 +1 3 2 +4 1 3 +6 2 1 +4 6 2 +7 5 3 +2 2 2 +7 7 1 +6 1 6 +5 6 5 +3 3 1 +5 3 3 +3 5 4 +9 8 2 +4 3 3 +3 5 5 +4 8 1 +3 9 3 +7 2 5 +4 4 5 +6 7 2 +7 3 7 +4 8 2 +6 2 4 +9 4 3 +9 9 1 +6 5 1 +4 7 6 +4 4 4 +9 6 3 +7 6 1 +3 2 2 +7 3 5 +3 6 4 +7 6 3 +4 4 5 +6 1 2 +6 6 3 +4 1 4 +2 1 1 +5 9 4 +8 1 8 +3 4 2 +9 8 1 +7 1 2 +3 9 7 +1 3 2 +2 2 2 +5 8 5 +2 3 2 +6 9 2 +8 6 3 +1 8 5 +2 6 5 +8 6 1 +2 5 1 +1 3 3 +5 6 2 +7 2 1 +6 7 5 +6 8 2 +6 1 3 +4 9 6 +3 6 3 +5 5 3 +3 7 6 +7 3 1 +7 8 1 +9 3 3 +2 8 3 +4 1 3 +5 8 3 +9 2 5 +4 1 3 +6 1 5 +7 2 3 +5 2 4 +2 8 3 +1 8 2 +4 1 3 +1 8 8 +5 1 2 +6 4 5 +9 6 4 +1 2 2 +9 2 7 +5 6 6 +9 1 3 +1 7 4 +4 4 4 +2 2 2 +9 4 6 +2 4 3 +9 2 4 +8 9 1 +1 8 1 +3 2 1 +8 3 4 +9 1 2 +4 5 2 +2 2 2 +2 4 2 +2 7 3 +4 1 4 +9 3 3 +5 9 5 +8 5 1 +6 7 1 +2 3 1 +6 8 3 +3 2 2 +2 9 7 +3 4 2 +9 2 6 +1 6 6 +7 7 4 +4 4 4 +7 3 3 +2 6 1 +1 9 9 +8 8 2 +6 1 2 +6 6 2 +2 9 2 +5 6 5 +2 2 2 +8 3 6 +7 6 1 +3 6 5 +8 7 2 +9 8 1 +7 1 3 +8 8 1 +6 6 5 +8 6 1 +2 9 1 +7 1 1 +2 9 1 +5 7 1 +7 9 1 +2 1 2 +4 6 3 +5 2 3 +4 7 1 +1 9 7 +3 6 2 +7 1 3 +1 3 1 +7 3 5 +6 9 2 +9 8 1 +2 1 1 +1 5 2 +9 7 2 +5 9 3 +3 3 1 +3 4 2 +2 1 2 +7 1 3 +8 1 1 +6 3 6 +8 9 1 +3 8 4 +8 7 2 +7 3 7 +5 6 1 diff --git a/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/ialcatraz.png b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/ialcatraz.png new file mode 100644 index 0000000..e78ded6 --- /dev/null +++ b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/ialcatraz.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:12212e8f14561cc99692e7e606b38405c13ee8c14477f27944a2666622b9f262 +size 17767 diff --git a/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/index.html b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/index.html new file mode 100644 index 0000000..1319c84 --- /dev/null +++ b/static/fpc/0000111000100001010000010100010100110111000011000111100000110000/index.html @@ -0,0 +1,115 @@ + + + + + + + + + + + +
+ + +

3. Alcatraz

+

FPC 2023 Final Teaser Puzzle

+
+ +
+
+
+
+ +

+ After breaking into the database of the TU Delft and releasing sensitive information to + the public, Anton the cyber criminal got the CIA looking for him. After being arrested, + Anton was transported to the heavily guarded prison Alcatraz. Disabling the security + system was a piece of cake, so he could easily get outside of the prison walls. However, + behind these walls a number of guards are positioned and they will immediately sound + the alarm if they spot any escaped prisoner. +

+ To escape, Anton needs to cross a field with width + 10 and height 10 that is being guarded by 3 guards. + He starts + at position (0, 0) and can only escape if he reaches + position (10, 10) without being spotted. Some + guards have better views than others, so every of + the three guards has an associated range of view. + If the distance between Anton and a guard is less + than that guard's view range, + then the guard will sound the alarm and Anton + will return to his cell. +

+ Your job is now to find out whether Anton can + escape Alcatraz or if he cannot escape without being + spotted. +

+ +

Input

+

+ A file containing multiple setups of initial positions for the + three guards. One setup consists of three lines with + each line containing a guard's X, Y, and view radius R as + integers from 1-9. +

+

Output

+

+ A string containing a character 0 or 1 for each setup. If + it is possible to escape the setup, then the + character is a 1, else 0. Your output should contain + lines/3 characters. +

+ +

Samples

+ + + + + + + + + + + + +
Sample InputSample Output +
+ 8 2 7
+ 5 3 2
+ 4 5 1
+
+ 1 +
+ 5 7 2
+ 2 8 5
+ 6 1 2
+ 5 8 3
+ 5 9 3
+ 8 9 1
+
+ 11 +
+

Final Test

+ + + + + + + + + +
InputNext Puzzle
+ cases.txt + + https://chipcie.wisv.ch/fpc/<OUTPUT> +
+
+
+
+
+ + diff --git a/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/glitch2.png b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/glitch2.png new file mode 100644 index 0000000..9d9efa8 --- /dev/null +++ b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/glitch2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:edef30f4ca2b10b530f4d444b92923031c831cf75bbe2268cc939acb5627ce2e +size 98237 diff --git a/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/index.html b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/index.html new file mode 100644 index 0000000..d8bea8c --- /dev/null +++ b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/index.html @@ -0,0 +1,32 @@ + + + + + + +
+
+
+
+

+

+ Will we see you at the FPC? +

+

+ Congratulations on passing all the FPC teaser + puzzles! If you enjoyed these puzzles, dont forget + to rally your friends and register for FPC + 2023! The FPC will feature many more creative + puzzles for you to solve and learn from! + https://wisv.ch/fpcregistration +

+ +

+
+
+
+
+ + diff --git a/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/solving.jpg b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/solving.jpg new file mode 100644 index 0000000..cadbc49 --- /dev/null +++ b/static/fpc/0010100100000010100000000010001101000000110010000100101001011000/solving.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0270b8d22eabf9df05bb813dab0723b05ed200fa9310f8af259c34129c21eb3c +size 4993115 diff --git a/static/fpc/chipcie_logo.png b/static/fpc/chipcie_logo.png new file mode 100644 index 0000000..20486ff --- /dev/null +++ b/static/fpc/chipcie_logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:767c7f48d20cf07024e078cd3ca20d5ece2dfb875fa51b06696e32744819bbbf +size 41609 diff --git a/static/fpc/chivo.ttf b/static/fpc/chivo.ttf new file mode 100644 index 0000000..911ac25 Binary files /dev/null and b/static/fpc/chivo.ttf differ diff --git a/static/fpc/fpc-logo.png b/static/fpc/fpc-logo.png new file mode 100644 index 0000000..f6e5e02 --- /dev/null +++ b/static/fpc/fpc-logo.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba4ce14cc7d19ca270d4496b7a6cb6116abc3e16e25b3be6be14e55349787968 +size 264078 diff --git a/static/fpc/style.css b/static/fpc/style.css new file mode 100644 index 0000000..cdbc732 --- /dev/null +++ b/static/fpc/style.css @@ -0,0 +1,116 @@ +* { + margin: 0; + padding: 0; +} + +@font-face { + font-family: "Chivo"; + src: url("chivo.ttf"); +} + +h1 { + margin-left: 15%; + font-family: "Chivo"; + color: white; +} + +ul, ol { + color: white; + font-family: serif; + font-size: 120%; + margin: 20px 20px 50px 80px; +} + +h2 { + color: white; + font-family: "Chivo"; + margin: 30px 20px 20px 20px; +} + +h4 { + margin-left: 20%; + font-family: "Chivo"; + color: gray; +} + +p { + color: white; + font-size: 120%; + font-family: serif; +} + +a { + color: #88f; +} + +td.code { + border: 1px solid gray; + border-collapse: collapse; + width: 50%; + word-wrap: break-word; +} + +table.code { + table-layout: fixed; + width: 80%; + margin: auto; +} + +th { + text-align: left; + font-weight: bold; +} + +span.finaloutput { + color: yellow; +} + +td, th { + font-family: "Monospace"; + font-size: 130%; + color: white; + padding: 10px; +} + +div.title { + margin: auto; + width: 400px; +} + +div.black { + background: black; + border-radius: 10px; +} + +div.rainbow { + padding: 2px; + background-image: linear-gradient(90deg, #00C0FF 0%, #FFCF00 49%, #FC4F4F 100%); + border-radius: 10px; + +} +div.glitch { + padding: 3px; + background-image: linear-gradient(37deg, #404040 2%, #555500 50%, #777777 50%); + border-radius: 50px; + +} + +img.problemicon { + padding: 20px; + width: 30%; + float: right; +} + +img.logo { + width: 70%; + margin: auto; +} + +table.title { + width: 80%; + margin: auto; +} + +body { + background-color: black; +} diff --git a/static/fpc/teaser/index.html b/static/fpc/teaser/index.html new file mode 100644 index 0000000..e233227 --- /dev/null +++ b/static/fpc/teaser/index.html @@ -0,0 +1,82 @@ + + + + + + + + + + + +
+ + +

1. Glass Reflection

+

FPC 2023 First Teaser Puzzle

+
+ +
+
+
+
+ +

+ Late in the evening, you are sitting at the Funky Punk Café + and feeling a bit bored because you have not done any programming all day. You stare out of the window and see that + the text on the neon signs gets reflected in a funny way: the + letters are partially overlapping, because the window is made + of double-paned glass. Would it be possible to automatically + read the text of the sign, just by looking at this mangled reflection? With a burst of sudden inspiration, you grab your laptop + and OCR2 camera from your bag, and start programming. +

+ Your OCR camera appears to correctly recognize the letters in + the reflection when it accounts for the mirroring, except that all the letters are duplicated. + Moreover, if the text on the sign contains double (or more) letters, their reflection partially + overlaps, resulting in only one more letter than there would be in the original word. For + example, the word “beer” is reflected as “bbeeerr”, and the word “ooo” is reflected as + “oooo”. All that is left for you to do, is to write a program that converts these reflected + words back to their original form. +

+ +

Samples

+ + + + + + + + + + + + + + + + + +
Sample InputSample Output
bbeeerrbeer
sskkiilllleesssnneesssskilllessness
bbaalllooonnnoookkkeeeppeerr balloonnookkeeper
+ +

Final Test

+ + + + + + + + + +
InputNext Puzzle
yyoouuuuuaarreennoowwoonnneesstteeppccllooosseerriinntthhiisssseerriieesssooffpprroommoottiioonnaallppuuzzzzlleessffoorrtthheeffrreesshhmmeeennpprrooggrrraaammmmiinnggccoonntteessstt + + https://chipcie.wisv.ch/fpc/<OUTPUT> +
+
+
+
+
+ + diff --git a/static/fpc/teaser/neon.png b/static/fpc/teaser/neon.png new file mode 100644 index 0000000..99656e0 --- /dev/null +++ b/static/fpc/teaser/neon.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:431f08fe1a88bf7bc619069877011743f1a43d390856100ff40275a6868557b9 +size 120399 diff --git a/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/grid.png b/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/grid.png new file mode 100644 index 0000000..9302e29 --- /dev/null +++ b/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/grid.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6942c9e88010787a065c98d4375ad3ffb51a038fb0dcfe1bf79350165484b74e +size 99179 diff --git a/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/index.html b/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/index.html new file mode 100644 index 0000000..51571a0 --- /dev/null +++ b/static/fpc/youuuuarenowonnestepclooserinthissseriessofpromotionalpuzzzlesforthefreshmeenprogrraammmingcontesst/index.html @@ -0,0 +1,133 @@ + + + + + + + + + + + +
+ + +

2. Automata Cats

+

FPC 2023 Second Teaser Puzzle

+
+ +
+
+
+
+ +

+ Your best friend Nya has created a growth model of the + population of cute cats. She first created a + test world of 8×8 cells and then spawned a few cats + at certain cells in the world. + Her world progresses in generations, + and at each generation the state of all cells is + computed based on the amount of neighbors. Each + cell has eight neighbors, horizontal, vertical and + diagonal. + The world does not wrap around at the borders. + The picture on the right shows the initial state of + Nya's population. +

+ At each generation, the state of each cell changes + according to the following rules: +

+
    +
  1. + A cell containing a cat survives to the next + generation if it has two or three neighboring + cats. +
  2. +
  3. + A cat is born in an empty cell if it has + exactly three neighboring cats. +
  4. +
+

+ These rules make up the entire simulation of Nya's + world. Nya simulated her world for 10 generations and + then appended all rows starting at the top to create the link for the last + FPC teaser puzzle. +

+ +

Input

+

+ The input to the program is a string of 64 characters + containing the initial state of the world as seen in + the picture. Every 8 characters form a row. Rows + start at the top. A cell + containing 1 is a cat. +

+

Output

+

+ Your program should output a string of 64 characters + containing the appended rows of the last generation. + The string should not contain newlines. The output + of the final test brings you to the next puzzle! +

+ +

Samples

+ + + + + + + + + +
Sample InputSample Output (with newline)
+ 00000000
+ 00100000
+ 00010000
+ 01110000
+ 00000000
+ 00000000
+ 00000000
+ 00000000
+
+ 00000000
+ 00000000
+ 00000000
+ 00000000
+ 00000100
+ 00010100
+ 00001100
+ 00000000 +
+

Final Test

+ + + + + + + + + +
InputNext Puzzle
+ 01110000
+ 11010011
+ 01000100
+ 11101111
+ 01100111
+ 00000110
+ 11111000
+ 10011000 + +
+ https://chipcie.wisv.ch/fpc/<OUTPUT> +
+
+
+
+
+ +