messages
listlengths
1
1
ground_truth
listlengths
12
24
dataset
stringclasses
1 value
difficulty
stringclasses
2 values
id
stringlengths
36
36
problem_family
stringclasses
1 value
name
stringlengths
19
27
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRY)*(GY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRYYRYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRYRYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYGBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRRRRY" } ]
manufactoria
medium
bd529e4b-6e95-4c38-89e7-048011eea399
regex_pattern
Regex Pattern: (YRY)*(GY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GRR)*(YB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRRGRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRRGRRGRRYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBGRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRGRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRYBYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRBRB" } ]
manufactoria
medium
483846df-45cb-4627-90c0-61d73e350cbb
regex_pattern
Regex Pattern: (GRR)*(YB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YBB)*(GBB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBBGBBGBBGBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBBYBBYBBYBBGBBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBBYBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBYBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBBBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYBYBBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYGBGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYYRGY" } ]
manufactoria
medium
5d9a0af1-b717-4031-ab79-2ee36a245016
regex_pattern
Regex Pattern: (YBB)*(GBB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)?(GBB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRGBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBGBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRGBBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRGGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGRBYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYGBGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGGYR" } ]
manufactoria
medium
e21088d5-f665-4a24-b4c2-9c4ca0a3ecfb
regex_pattern
Regex Pattern: (RBR)?(GBB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GYB)?(YRG)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYBYRGYRGYRGYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGGYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBBYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGGYRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYYYRYYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYRRG" } ]
manufactoria
medium
be157252-1cdc-4f0f-b018-c4fdc51c1005
regex_pattern
Regex Pattern: (GYB)?(YRG)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YR)?(BBR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBBRBBRBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYYRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGBBGRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBRGGBY" } ]
manufactoria
medium
e4ca0ed1-a04f-4f32-84de-f58e8d71f5bb
regex_pattern
Regex Pattern: (YR)?(BBR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BRY)*(RYB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRYRYBRYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRYBRYBRYRYBRYBRYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRYBRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYBRYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYBBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYYRYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRBRYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYBRYBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBGR" } ]
manufactoria
medium
af185bf6-245b-48f7-98fc-f89f6dde049c
regex_pattern
Regex Pattern: (BRY)*(RYB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BGR)+(BB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGRBGRBGRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRYBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYBGGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGBYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRBBGBY" } ]
manufactoria
medium
84c119cd-5538-4bf9-bbd3-456544b5fd78
regex_pattern
Regex Pattern: (BGR)+(BB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYR)*(RGR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYRRYRRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRRRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBRYGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRRGBGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBBRR" } ]
manufactoria
medium
4d8165ea-f787-4b08-931a-bd4fdc0c0aa2
regex_pattern
Regex Pattern: (RYR)*(RGR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGBGBGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBBBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYRGB" } ]
manufactoria
easy
e906d1db-bcfe-46a3-b03d-1f3727c279c3
regex_pattern
Regex Pattern: (BG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BYB)?(BG)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYBGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBBYGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYBRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRRBYYG" } ]
manufactoria
medium
7fdb9712-b620-43ef-bbac-5a47a06f23d0
regex_pattern
Regex Pattern: (BYB)?(BG)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)+(RRB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRBRRBRRRBRRBRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRGRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRBRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRRRGRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYYGRY" } ]
manufactoria
medium
726647da-5e92-429e-86fb-fab3bc289902
regex_pattern
Regex Pattern: (RBR)+(RRB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRY)+(RGY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRYRGYRGYRGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRYYRYRGYRGYRGYRGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYRGYRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYBRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRYRBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRRGBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBGYGGY" } ]
manufactoria
medium
9bfe77af-c55e-4518-969f-c8e9494ce525
regex_pattern
Regex Pattern: (YRY)+(RGY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BYG)+(RBB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYGRBBRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYGBYGRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYGBYGBYGBYGRBBRBBRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGGRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGBYYYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYRBRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRRYG" } ]
manufactoria
medium
0c42d2e1-cab5-4e40-a943-51b8cee84ead
regex_pattern
Regex Pattern: (BYG)+(RBB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)*(GY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRBRGYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBYRBBBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRYGGRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRBRRGB" } ]
manufactoria
medium
907896bc-e006-4c4e-80d5-7b057598c816
regex_pattern
Regex Pattern: (RBR)*(GY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GGG)*(GYY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGGGYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGYYGYYGYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGGGYYGYYGYYGYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGYGYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRGGYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBGYGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRBR" } ]
manufactoria
medium
636ba989-a31d-45ea-9125-8ce3e5895962
regex_pattern
Regex Pattern: (GGG)*(GYY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YBY)?(BBG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBYBBGBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBYBBGBBGBBGBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBGBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBGYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYRBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRYBBGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBBBGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBYGY" } ]
manufactoria
medium
0098f8f8-00cb-4457-a218-42b5128e54cc
regex_pattern
Regex Pattern: (YBY)?(BBG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GY)?(YY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYYYYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYYYYYYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYYYYYYYYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBGBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYYYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRYYY" } ]
manufactoria
medium
69eb9beb-ab3c-44c6-a37e-16667050410c
regex_pattern
Regex Pattern: (GY)?(YY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RGG)+(GRB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGGRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGRGGRGGGRBGRBGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGYGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBRGBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGRGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBRGYYB" } ]
manufactoria
medium
aad6167c-f68c-4e07-8ee1-bfbe265f16a6
regex_pattern
Regex Pattern: (RGG)+(GRB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYR)+(YRY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYRYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRGYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRYRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBGYRBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGRYG" } ]
manufactoria
medium
ca27cc4d-b428-4239-b8d0-a21837cbd471
regex_pattern
Regex Pattern: (RYR)+(YRY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RGY)+(RBR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGYRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGYRGYRBRRBRRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGYRGYRGYRGYRBRRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGYRBRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGRGBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGRBYYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBBR" } ]
manufactoria
medium
6b2c17a9-eda3-447b-a3e8-ec87eac85c2b
regex_pattern
Regex Pattern: (RGY)+(RBR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYR)?(RRY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRYRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBRYYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBRRYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRYRBY" } ]
manufactoria
medium
79b94e66-fef3-4b37-8669-58bbdc790f53
regex_pattern
Regex Pattern: (RYR)?(RRY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBB)?(RGB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRGBRGBRGBRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBYRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGRBBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGRGGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRGGY" } ]
manufactoria
medium
f99746b8-7987-4dc8-9956-2f806b16e806
regex_pattern
Regex Pattern: (RBB)?(RGB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YBB)+(RYY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBBYBBRYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBBYBBYBBRYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBBRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYYBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBBYRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBYBRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBRYBGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBRR" } ]
manufactoria
medium
26d5a26b-cc06-4533-9104-2c4b74c51e88
regex_pattern
Regex Pattern: (YBB)+(RYY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BG)+(YBG)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGYBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGBGBGYBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBYBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRBGRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBYBYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYYB" } ]
manufactoria
medium
27b7e11f-9e3f-404e-8692-aacc8386edf3
regex_pattern
Regex Pattern: (BG)+(YBG)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YGG)?(BB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGGBBBBBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGGBBBBBBBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBYGBGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYBGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYBRB" } ]
manufactoria
medium
1f53636b-6c60-4964-89e2-6f3b70dc6eca
regex_pattern
Regex Pattern: (YGG)?(BB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GBB)+(BGY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBBGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBGBBGBBBGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBYBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRGBYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRBGYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYGG" } ]
manufactoria
medium
ecc87092-6ce2-4297-a0b9-2ab1a51ddeda
regex_pattern
Regex Pattern: (GBB)+(BGY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YYG)+(BBR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYGBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYGBBRBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYGYYGYYGYYGBBRBBRBBRBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRYYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGRBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBGYYGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGBBGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGYR" } ]
manufactoria
medium
13227668-39f8-44b9-a03c-6dc560c8b0ff
regex_pattern
Regex Pattern: (YYG)+(BBR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GRY)?(RBG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRYRBGRBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRYRBGRBGRBGRBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBGRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGGRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRYYRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYGRGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYRBRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYYB" } ]
manufactoria
medium
4a282f82-3ef9-4eba-a875-d27d1d143dd3
regex_pattern
Regex Pattern: (GRY)?(RBG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)+(GRB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRGRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRBRRBRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRBGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYRBYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRGRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBGGRGYG" } ]
manufactoria
medium
bc897743-378c-4b15-8a5d-07a7af382317
regex_pattern
Regex Pattern: (RBR)+(GRB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RRY)+(BRB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRYBRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRYRRYRRYBRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRYRRYBRBBRBBRBBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYBBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGRRRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRBRGRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBGRG" } ]
manufactoria
medium
b2fa4271-9015-4649-b4ca-ae0cb5ad709c
regex_pattern
Regex Pattern: (RRY)+(BRB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBB)+(BBY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBBBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRBBRBBBBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRBBRBBRBBBBYBBYBBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBYRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBYBBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYRBBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGBBYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRRGRGBR" } ]
manufactoria
medium
98fb99cb-4cf2-4e9d-8949-2c5156aa10fa
regex_pattern
Regex Pattern: (RBB)+(BBY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGRB" } ]
manufactoria
easy
110d34eb-2632-414e-a288-5412ed6ff065
regex_pattern
Regex Pattern: (GG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BGR)*(RYR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGRBGRBGRRYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRBGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRYRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYBGRBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRRYBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYRYYBY" } ]
manufactoria
medium
a0d6acfb-5f87-4817-989b-4405c2867bdc
regex_pattern
Regex Pattern: (BGR)*(RYR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBB)+(BYG)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBBYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRBBBYGBYGBYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRBBBYGBYGBYGBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBRBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYRBGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRBYRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRYBY" } ]
manufactoria
medium
e202717a-06b4-4197-b3e1-51d8e952367e
regex_pattern
Regex Pattern: (RBB)+(BYG)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YY)+(YRR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYYYRRYRRYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYYYYYYYRRYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYRRYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYYYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBYGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYYRYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRGR" } ]
manufactoria
medium
5acaa14e-aea0-46fc-a88f-9ca8247d5e83
regex_pattern
Regex Pattern: (YY)+(YRR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BYY)?(RB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRBYRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRRGYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGRYYY" } ]
manufactoria
medium
8bd2ffdb-962a-43e6-aba1-2fd01b460f1d
regex_pattern
Regex Pattern: (BYY)?(RB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RGB)?(YRB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGBYRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGBYRBYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRBRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBGYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRRRGBRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGYRRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYBYYR" } ]
manufactoria
medium
2b0cf022-da64-44e0-94e2-97e869171256
regex_pattern
Regex Pattern: (RGB)?(YRB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBGYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBGGGB" } ]
manufactoria
easy
128de662-938d-412f-ab07-1e9214b5d1e7
regex_pattern
Regex Pattern: (GR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YGR)?(RBR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRBRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGBYGYGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRBRBYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBBG" } ]
manufactoria
medium
b56a6a96-30bd-4243-814d-8ba3b121cdce
regex_pattern
Regex Pattern: (YGR)?(RBR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYR)+(GRB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYRGRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYRRYRGRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGRYBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYGRBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYBRYR" } ]
manufactoria
medium
20f7e74a-4a34-4a5a-bf60-479ae5e1d895
regex_pattern
Regex Pattern: (RYR)+(GRB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GRB)*(RGR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRBGRBRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRBGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBBRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGGRGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBRGRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRRGGBB" } ]
manufactoria
medium
6b4a65f8-ed6d-4b4b-bef2-e29ed166724f
regex_pattern
Regex Pattern: (GRB)*(RGR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRB)+(YB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYRBYBYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYRBYBYBYBYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRBYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYYRRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBYBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGGRRG" } ]
manufactoria
medium
70a85938-a28e-48cd-a3af-3ca709ecbba4
regex_pattern
Regex Pattern: (YRB)+(YB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRB)*(GBB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRBYRBYRBGBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRBBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGYRYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBGBBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRRYR" } ]
manufactoria
medium
034f0c61-1022-409d-8867-fc9ec749c082
regex_pattern
Regex Pattern: (YRB)*(GBB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBG)*(GY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBGGYGYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBGRBGRBGGYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRRBYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGBGYGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRBGY" } ]
manufactoria
medium
10ab94a0-3476-4151-b7c3-1dbefdae5961
regex_pattern
Regex Pattern: (RBG)*(GY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GGB)*(BRG)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGBBRGBRGBRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGBGGBGGBBRGBRGBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBRBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGGGBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRBRBYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYGBYG" } ]
manufactoria
medium
681bcecf-ca0c-40ac-8598-b995709ac247
regex_pattern
Regex Pattern: (GGB)*(BRG)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BGG)+(RGB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGGRGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGGBGGBGGBGGRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYBGYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYRGRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGBG" } ]
manufactoria
medium
c8f489f5-2743-4676-92f2-089dc6f575f7
regex_pattern
Regex Pattern: (BGG)+(RGB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)?(GGR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGRGGRGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRGGRGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGRGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRRGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYRBRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRGGYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYBRRG" } ]
manufactoria
medium
cbb3c375-c282-4b7b-9f17-76a6041213bc
regex_pattern
Regex Pattern: (RBR)?(GGR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RG)+(BYY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGBYYBYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGRGRGRGBYYBYYBYYBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRRRRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGBYYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRYG" } ]
manufactoria
medium
ae4dd0d4-e3c2-4619-bc3f-2d787df52cca
regex_pattern
Regex Pattern: (RG)+(BYY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BYB)+(RGG)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYBRGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYBBYBRGGRGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYBBYBRGGRGGRGGRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYBYRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYBYRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYRGBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRRGGYG" } ]
manufactoria
medium
baa1df2a-395c-429d-bc0f-0aab3c56561d
regex_pattern
Regex Pattern: (BYB)+(RGG)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YY)?(RGB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRGBRGBRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYRRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBYGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBRGRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBYGRYB" } ]
manufactoria
medium
f6acfce9-7967-4881-8f88-77e3a6b9b8d4
regex_pattern
Regex Pattern: (YY)?(RGB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YGB)+(GRR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGBGRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGBYGBYGBGRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGBYGBYGBYGBGRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRYGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGBBGRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRYGGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYGRBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRRYY" } ]
manufactoria
medium
b46f9f8c-115c-4e75-87f3-2d17aa28197a
regex_pattern
Regex Pattern: (YGB)+(GRR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GY)*(BYG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGYGYBYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGYBYGBYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYGBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGBYRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRRBR" } ]
manufactoria
medium
7f407dce-cac9-4afc-84fc-06ff49d110d1
regex_pattern
Regex Pattern: (GY)*(BYG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BYR)?(RGR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYRRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYRRGRRGRRGRRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRBYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRBRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRBYGYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRRGRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYYG" } ]
manufactoria
medium
11658465-cb0e-4b7b-943e-d71d2c7f596d
regex_pattern
Regex Pattern: (BYR)?(RGR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BG)*(RBB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGBGBGRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGBGBGBGRBBRBBRBBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBBBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGRBRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBYYYGRB" } ]
manufactoria
medium
c12ab5e7-046f-4673-b9b9-f06c9d3c189d
regex_pattern
Regex Pattern: (BG)*(RBB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YYR)*(RGR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRYYRRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRYYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRYYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYRRRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRYYGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYRGBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYGY" } ]
manufactoria
medium
e53336fd-9d6f-4e04-a1ce-9c85f24cbf41
regex_pattern
Regex Pattern: (YYR)*(RGR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BBY)*(GR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBYGRGRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBYBBYBBYGRGRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBYBBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBYYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYBBRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYBYRR" } ]
manufactoria
medium
a949b639-0513-4454-8fcc-53a7c0cc12e2
regex_pattern
Regex Pattern: (BBY)*(GR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RR)+(YBR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRRRYBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRRRRRRRYBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGRYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBYBGYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBGRBRG" } ]
manufactoria
medium
7b5f40b3-1a56-4c20-9a4f-a80133329886
regex_pattern
Regex Pattern: (RR)+(YBR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRY)*(GRG)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRYYRYYRYGRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYBGRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGYRYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYGRRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGYGG" } ]
manufactoria
medium
6e3fb532-65e4-453b-bd8e-62f4a39d5e3a
regex_pattern
Regex Pattern: (YRY)*(GRG)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BGR)?(BGY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGYBGYBGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGRBGYBGYBGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYBGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRRBGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYBGBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYGBGGYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRBYGRG" } ]
manufactoria
medium
24e62554-4aef-4028-bb0f-8fa36bb87184
regex_pattern
Regex Pattern: (BGR)?(BGY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BBB)*(YYG)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBBBBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBBBBBYYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBBYYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRBBYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBYYGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYYYG" } ]
manufactoria
medium
44a89c89-7773-4e0b-8c47-dbae8969e44a
regex_pattern
Regex Pattern: (BBB)*(YYG)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGYGYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRGYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYBGYBG" } ]
manufactoria
easy
287a5209-9b46-43c6-800f-def0bbe1c2c2
regex_pattern
Regex Pattern: (GY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BBR)*(GY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBRBBRGYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBRBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGBBBRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGGRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGYYB" } ]
manufactoria
medium
091a375e-8941-44a0-acee-e56a5586602a
regex_pattern
Regex Pattern: (BBR)*(GY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RRB)+(YB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBRRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBRRBRRBYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYRRYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRYGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBYY" } ]
manufactoria
medium
68a797e6-d5b3-477e-ad90-cd97989f9c4a
regex_pattern
Regex Pattern: (RRB)+(YB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRBRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYBRBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBBG" } ]
manufactoria
easy
9319ef1e-3dcf-4f28-b637-80939134cf07
regex_pattern
Regex Pattern: (BR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYY)+(GGB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYYGGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYYRYYRYYGGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYRGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGRYBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYGGBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYBBY" } ]
manufactoria
medium
e1bcb05b-e7c0-448e-a8fb-c79faffbde06
regex_pattern
Regex Pattern: (RYY)+(GGB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GGG)*(BGB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGBGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGGGGGGGGBGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGBBGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYGGYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRGBGBRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBBBYGY" } ]
manufactoria
medium
496120a4-42da-47cf-848f-aad25db2da6c
regex_pattern
Regex Pattern: (GGG)*(BGB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBY)+(BY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBYBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBYRBYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBYRBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRRBRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBBGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBGBGY" } ]
manufactoria
medium
15b852d4-c7df-4bf8-b24a-117c07d186d4
regex_pattern
Regex Pattern: (RBY)+(BY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YBY)?(BBB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YBYBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYYBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBYBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYRBBGYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBGB" } ]
manufactoria
medium
2088b17d-0a02-40b6-b4da-ca2afef34db7
regex_pattern
Regex Pattern: (YBY)?(BBB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YG)?(RB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYYYRYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYRYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBBGBR" } ]
manufactoria
medium
168c74f4-4453-40bd-bd75-55fb571b2a83
regex_pattern
Regex Pattern: (YG)?(RB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GYG)?(GR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYGRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBGYBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGGGYGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYRRR" } ]
manufactoria
medium
6d55a302-fe05-455d-ad1c-2029a6b857f4
regex_pattern
Regex Pattern: (GYG)?(GR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GRY)?(BYY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRYBYYBYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRYBYYBYYBYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYYBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYGRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRYRBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBGRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRBYRRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRBGYRR" } ]
manufactoria
medium
d6ff4eb5-8130-43de-9b70-2d8c56dc7efe
regex_pattern
Regex Pattern: (GRY)?(BYY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GBY)*(YRY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBYGBYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBYGBYGBYYRYYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBYGBYYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYGBYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYRYRYYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGBYBRB" } ]
manufactoria
medium
5e81c81a-6619-4a5a-bb8f-a35101f3528d
regex_pattern
Regex Pattern: (GBY)*(YRY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GB)+(BGG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBGBGBBGGBGGBGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBGGBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRGRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBBGGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBGYY" } ]
manufactoria
medium
792f2846-dd9e-4ffe-9b2c-67593d5fef18
regex_pattern
Regex Pattern: (GB)+(BGG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GG)*(YRR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYGRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRYRRRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBRYR" } ]
manufactoria
medium
4448b30f-3ebe-436c-b463-ef4fbd40d6e3
regex_pattern
Regex Pattern: (GG)*(YRR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GBG)*(YGR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBGGBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBGGBGGBGYGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBGRYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRGBGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBYGRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGYBBB" } ]
manufactoria
medium
b60d60f0-f88d-4444-963a-72e1e2e039dd
regex_pattern
Regex Pattern: (GBG)*(YGR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GRB)?(YRR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRBYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRBYRRYRRYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRBYRRYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBYYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGRBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRYRRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGBYBB" } ]
manufactoria
medium
104a072c-beb0-431a-a244-7302a2efd213
regex_pattern
Regex Pattern: (GRB)?(YRR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GR)?(GG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRGYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGGGBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGYRB" } ]
manufactoria
medium
5d082e1a-b2f9-4194-95cc-c06abf475e53
regex_pattern
Regex Pattern: (GR)?(GG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BBR)*(GB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBRBBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBRBBRGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBRBBRBBRGB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBRRGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRBBBYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRGGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBBBGRG" } ]
manufactoria
medium
27660607-3e9b-4d76-aadf-4adae2befac8
regex_pattern
Regex Pattern: (BBR)*(GB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRR)*(RGG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRRRGGRGGRGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRRYRRYRRRGGRGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRRYRR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGYRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRRYRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYYRBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBRGRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYGBRG" } ]
manufactoria
medium
f82b5faa-f6f0-4452-bb7f-e7f675aec04d
regex_pattern
Regex Pattern: (YRR)*(RGG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GG)?(GBB)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBBGBBGBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGBBGBBGBBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYYGGYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBBGBGBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBRGBR" } ]
manufactoria
medium
ac392e44-15c6-42ba-99bf-e30d1a587c0b
regex_pattern
Regex Pattern: (GG)?(GBB)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BBB)?(YRG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBBYRGYRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBBYRGYRGYRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRGYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGBBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBBYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGBBGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBRYRYBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYGRYBR" } ]
manufactoria
medium
0ca09936-9907-4a7a-ab5e-9b460b4bfbb5
regex_pattern
Regex Pattern: (BBB)?(YRG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(BB)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRBBGRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGRYGGY" } ]
manufactoria
easy
73d39663-2a94-48b4-9b63-8444cc6e55e1
regex_pattern
Regex Pattern: (BB)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RGG)+(GGG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGRGGGGGGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGGRGGRGGRGGGGGGGGGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGBRGGGB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYGGRBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYGY" } ]
manufactoria
medium
d4095635-bc3b-4197-a987-ad7d34b17df3
regex_pattern
Regex Pattern: (RGG)+(GGG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GYG)+(GR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGGRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GYGGYGGYGGRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYGYGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYGYBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGGBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGRRBB" } ]
manufactoria
medium
a10e0bb8-7c82-4cc3-8fe6-56cd9b632ba0
regex_pattern
Regex Pattern: (GYG)+(GR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RYR)*(GGR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYRRYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RYRRYR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRRYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYRBGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRRYGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYBGGYYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYBY" } ]
manufactoria
medium
951a880f-0890-4a64-8e43-92ec211b4cd8
regex_pattern
Regex Pattern: (RYR)*(GGR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBR)*(RBY)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "Y" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRRBRRBY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYRBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBRRRBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGGRBRGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYRBRGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYYGR" } ]
manufactoria
medium
4f40de5b-3af1-4bb3-a721-970194a3987c
regex_pattern
Regex Pattern: (RBR)*(RBY)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YRG)*(BG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRGYRGYRGBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRGYRGYRGYRGBGBGBGBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRGYRG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BGBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGYBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGYRRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGBBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBYBRRY" } ]
manufactoria
medium
c6ba1758-bfea-4be9-8c60-499bfb11592c
regex_pattern
Regex Pattern: (YRG)*(BG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RBG)?(BYB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "G" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBGBYBBYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBGBYBBYBBYB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BYBBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYBRBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGYBYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYRBGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYRBYBYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYYRBGR" } ]
manufactoria
medium
e9878fef-3384-4c5b-beb0-8cedf9a2bc5e
regex_pattern
Regex Pattern: (RBG)?(BYB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RRB)+(GGR)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBRRBRRBRRBGGRGGRGGRGGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RRBGGRGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRRRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBBGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBBRRYBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYGGGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BGYRBRYY" } ]
manufactoria
medium
2a89069e-dc94-464f-b19d-4049c80cc13b
regex_pattern
Regex Pattern: (RRB)+(GGR)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GR)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRGGRRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRYGG" } ]
manufactoria
easy
1ac2361d-8149-479e-a379-d0523885b6f7
regex_pattern
Regex Pattern: (GR)?
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YG)*(YGY)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYGYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYGYGYGYGYYGYYGYYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYYG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYYGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRGYGYRG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGBYGBG" } ]
manufactoria
medium
f9cd0d99-a6c9-45de-b862-eeb5e577ea77
regex_pattern
Regex Pattern: (YG)*(YGY)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YY)*(BBG)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYBBGBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYYYYYYBBGBBGBBGBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYYY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBGYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYRBBG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRBYBRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YBYBBYBY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGBBRR" } ]
manufactoria
medium
4ecb88a8-f8c9-4dbf-ba64-8dbe5aebae66
regex_pattern
Regex Pattern: (YY)*(BBG)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YGY)*(RBB)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYRBBRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYYGYRBBRBBRBBRBB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGYYGY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBBYGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYBRBB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYYYGBYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBRBGYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBYGRYBR" } ]
manufactoria
medium
f52cfee4-9cec-4efb-8c4a-da206330e6f2
regex_pattern
Regex Pattern: (YGY)*(RBB)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(GR)*(GBR)+' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGBR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GRGRGRGBRGBRGBRGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRGGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BYGGBYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGRGBGGR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGRRGY" } ]
manufactoria
medium
20aa5ead-f097-4075-95d0-d417564aa622
regex_pattern
Regex Pattern: (GR)*(GBR)+
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYYYYY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RYGYRYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBBBBG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YY" } ]
manufactoria
easy
e5d78950-b1a7-4a69-b4fb-d9a4a5f72c2c
regex_pattern
Regex Pattern: (YY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(RB)*(BRY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRBBRYBRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRBBRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRBRBBRYBRYBRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "RBRB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "BRYBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBGBRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GYBRGYB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGYBRGGY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRBY" } ]
manufactoria
medium
ff0b1ef2-ef5c-41e8-8ef9-c3b0c5aa198c
regex_pattern
Regex Pattern: (RB)*(BRY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YYR)?(YRY)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRYRYYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YYRYRYYRYYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YRYYYR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YYRYYRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRYYYRRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GRYYRGRY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRYGG" } ]
manufactoria
medium
91d8099b-e806-406a-a9c6-73459c121b1a
regex_pattern
Regex Pattern: (YYR)?(YRY)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(YG)?(GGG)*' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "YGGGGGGGGGGGGG" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "GGGGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GGGYG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YGYGGG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "GBRYGBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRRGGRRR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RGYYBR" } ]
manufactoria
medium
28f3d850-643b-41c9-bc8d-e30dc0533674
regex_pattern
Regex Pattern: (YG)?(GGG)*
[ { "content": "# Manufactoria Solution DSL\n\nA Domain Specific Language for describing Manufactoria puzzle solutions in text format.\n\n## Overview\n\nManufactoria is a puzzle game where you build automated factories to sort robots based on their colored tape patterns. Robots enter your factory carrying sequences of colored tape, and you must route them to the correct destinations based on the given criteria.\n\n## Game Mechanics\n\n### Robots and Tape\n- **Robots**: Each robot carries a sequence of colored tapes\n- **Tape Colors**: Primary colors are Blue (B) and Red (R), with additional Yellow (Y) and Green (G) for advanced puzzles\n- **Tape Representation**: Sequences are represented as strings (e.g., `RBRR`, `BBR`, or empty string `\"\"`)\n\n### Operations\n- **Pull**: Remove tape from the front of the robot's sequence\n- **Paint**: Add colored tape to the end of the robot's sequence\n- **Route**: Direct robots through the factory based on their current tape state\n\n### Objective\nRoute robots to the correct destinations based on their final tape configuration and the puzzle requirements:\n- **Accepted**: Robot reaches the END node\n- **Rejected**: Robot is not routed to the END node or caught in an infinite loop. \n\n## DSL Syntax\n\n### Program Structure\n\nEvery solution must start with a `START` directive and end with an `END` directive, wrapped in ```manufactoria ...```:\n\n```manufactoria\nSTART start:\n NEXT <next_node_id>\n\n# Factory logic goes here\n\nEND end\n```\n\n### Node Types\n\n#### 1. Puller Nodes\n\nPullers remove specific colors from the front of the robot's tape sequence and route based on the current front color.\n\n**Red/Blue Puller:**\n\n```manufactoria\nPULLER_RB <node_id>:\n [R] <next_node_id> # Route and remove color if front tape is Red\n [B] <next_node_id> # Route and remove color if front tape is Blue\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither red nor blue\n```\n\n**Yellow/Green Puller:**\n\n```manufactoria\nPULLER_YG <node_id>:\n [Y] <next_node_id> # Route and remove color if front tape is Yellow\n [G] <next_node_id> # Route and remove color if front tape is Green\n [EMPTY] <next_node_id> # Route if no tape or front tape is neither yellow nor green\n```\n\n**Note**: Unspecified branches default to `NONE`, which rejects the robot.\n\n#### 2. Painter Nodes\n\nPainters add colored tape to the end of the robot's sequence and continue to the next node.\n\n```manufactoria\nPAINTER_RED <node_id>:\n NEXT <next_node_id>\n\nPAINTER_BLUE <node_id>:\n NEXT <next_node_id>\n\nPAINTER_YELLOW <node_id>:\n NEXT <next_node_id>\n\nPAINTER_GREEN <node_id>:\n NEXT <next_node_id>\n```\n\n## Syntax Rules\n\n1. **Node IDs**: Must be unique identifiers (alphanumeric characters and underscores only)\n2. **Comments**: Lines starting with `#` are comments (single-line only)\n3. **Indentation**: Use consistent spaces or tabs for route definitions\n4. **Case Sensitivity**: Colors must be uppercase (R, B, Y, G)\n5. **Termination**: \n - Robots routed to `NONE` are rejected\n - Robots routed to the END node are accepted\n6. **Code Blocks**: Final factory code should be wrapped in triple backticks with ``` markers\n\n## Example\n\nHere's a simple example that accepts robots with exactly one red tape (ending tape should be empty):\n\n```manufactoria\nSTART start:\n NEXT entry\n\nPULLER_RB entry:\n [R] end\n\nEND end\n```\n\n# Task \nYour task is to design a factory with code with following functionality:\n\nAccept if the tape matches the regex pattern '(B)?' exactly; reject otherwise. '+' means one or more repetitions, '?' means zero or one occurrence, '*' means zero or more repetitions.", "role": "user" } ]
[ { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "R" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BY" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BG" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RBR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BRB" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "BR" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "YB" }, { "check_output": false, "description": "", "expected_accepted": true, "expected_output": "", "input": "B" }, { "check_output": false, "description": "", "expected_accepted": false, "expected_output": "", "input": "RRBGRBGB" } ]
manufactoria
easy
1047e87e-f636-46c4-8883-50ae2299ea44
regex_pattern
Regex Pattern: (B)?