messages
listlengths 1
1
| ground_truth
listlengths 19
30
| dataset
stringclasses 1
value | difficulty
stringclasses 1
value | id
stringlengths 36
36
| problem_family
stringclasses 3
values | name
stringlengths 11
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 contains the substring 'RYRY' (must be consecutive); reject otherwise.",
"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": "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": "YR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "G"
},
{
"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": "RYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYRYGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYRYGYRYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGRYRYBYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYRYBBRYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYRBBRYRYBYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYRYYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGYRRBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRYYRRGRYYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRGRBRRYBRGRBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBRRYRBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRRYRYRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRBYRYRBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYBRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBGBGBGGBGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBGRBYRYRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBRBYRRBYBR"
}
] |
manufactoria
|
easy
|
7f9b8a22-2241-48ac-9f8d-5db9a2cf92c9
|
contains_substring
|
Contains 'RYRY'
|
[
{
"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 contains the subsequence RBYB (does not have to be consecutive); reject otherwise.",
"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": "YB"
},
{
"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": "BB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBYYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBYYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBYBYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRGBBRRBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRYGBGYGBYBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBBYBRRRBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYRGBBYBRYYRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGGBRBYYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGBRGBGBRRBBYGBRGBGBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGGGGGGGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGBGGYBRGBYRGRGRGRRBBYGBGGYBRGBYRGRGRGR"
}
] |
manufactoria
|
easy
|
292746cf-e385-4907-b4c3-08f8bd678ea0
|
contains_ordered
|
Contains RBYB
|
[
{
"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 has at least 1 r and at least 3 ys; reject otherwise.",
"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": "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": "BB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRYRYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYBGBYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYRYYGRRGYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYYGRRYRRGGGYRGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBBYYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGGGGBBGBBGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBBYGBBGGGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRGBRYRYYYRYYYRYBY"
}
] |
manufactoria
|
easy
|
bd7439ca-1e85-45f1-a2ee-0d4f24846da3
|
contains_count
|
Need 1 R and 3 Ys
|
[
{
"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 has at least 2 ys and at least 4 gs; reject otherwise.",
"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": false,
"expected_output": "",
"input": "RG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYYGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGGYGYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYGGGBYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYGBYRGYYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGGRGGGYYGYGYGYGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBRYBYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRGRYGGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRBRBBRRRBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGRRBGRRBBGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYYBRGYGYRYYGYGYG"
}
] |
manufactoria
|
easy
|
08fbd006-e3a6-4898-bb2b-47ffcd07de86
|
contains_count
|
Need 2 Ys and 4 Gs
|
[
{
"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 contains the subsequence YRG (does not have to be consecutive); reject otherwise.",
"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": 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": "BB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYGRGYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYGYGBRRGYGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRGRYYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBRRGRYRBRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGGYRBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYBGRBRRRYGYYBGRBRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGGGGBYRYYRRBRYGBYGYBGGGGBYRYYRRBRYGB"
}
] |
manufactoria
|
easy
|
f178e208-f875-4aa5-aa0b-283e49bfca82
|
contains_ordered
|
Contains 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 contains the substring 'GYB' (must be consecutive); reject otherwise.",
"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": "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": "GYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGGBYBGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBGYRGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGYGYBGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGYRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGBGGGRGBGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGYGYBGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGBYGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGBYGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRRRRRRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYRGRYBBYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYGRYRBYG"
}
] |
manufactoria
|
easy
|
5e1b1e20-e09b-4878-b351-051729c47c37
|
contains_substring
|
Contains 'GYB'
|
[
{
"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 contains the subsequence RGGB (does not have to be consecutive); reject otherwise.",
"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": "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": "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": "RGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGYGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGBRYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRRGGBRGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRYRBBGYGGGYGBYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBGBGBRGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYBGGRBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRRBRGGGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRBRRRGBGRGBBRBRRRGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYYYYYYYYYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYYYYBYYGRYRBRBGRYRGBYYYYYBYYGRYRBRBGRY"
}
] |
manufactoria
|
easy
|
b4691b27-3cad-4871-b80a-1a75a5389e3a
|
contains_ordered
|
Contains RGGB
|
[
{
"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 contains the subsequence RGYR (does not have to be consecutive); reject otherwise.",
"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": "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": "RGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGGYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYRRBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYBRBRGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBRBGRYRBBRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBYRBYRGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGRYGRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBRRRGYGBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYBBBYRYYRGRYYBBBYRYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGRYBRGYBYRYGRYYRBRGRBGRYBRGYBYRYGRYYRB"
}
] |
manufactoria
|
easy
|
47e4a513-929f-4330-a84b-b3e1efa7333a
|
contains_ordered
|
Contains RGYR
|
[
{
"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 has at least 1 b and at least 1 y and at least 4 gs; reject otherwise.",
"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": "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": "GBGYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGGYGGBGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGBYRGRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGGYGGBYBBGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGGYGGYGBRYRGGBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRYBRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYGGRRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRRRRRRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRGRGRGRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGYGGBGBGRGGGGBGRB"
}
] |
manufactoria
|
easy
|
7a6e0ec5-40f3-4ab9-9c7c-414a9d66049e
|
contains_count
|
Need 1 B and 1 Y and 4 Gs
|
[
{
"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 contains the substring 'GYBB' (must be consecutive); reject otherwise.",
"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": "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": "GYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBBGGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBRGBBGYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYBBGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBBYGGGYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBRGYBBBYGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBBYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGYRBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYGGYYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGRGYYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRYGYBRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBYYBBYGYBYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRGBBYGGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRRRRRRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGBGGYBBBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYGBYRBBBBB"
}
] |
manufactoria
|
easy
|
3d17033a-9d88-4760-99ca-8df55c37a092
|
contains_substring
|
Contains 'GYBB'
|
[
{
"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 has at least 2 rs and at least 2 bs and at least 1 y; reject otherwise.",
"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": "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": "BBRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYRBBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGGBGRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRBRRBYRRGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRBBRBYBYRRBRBBRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGGGRGBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBGGGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGGGGGGGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGBGRGGGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRGGBYRYYBBGBRGGR"
}
] |
manufactoria
|
easy
|
0ff24b0e-1c0d-465b-ace8-28abc752475b
|
contains_count
|
Need 2 Rs and 2 Bs and 1 Y
|
[
{
"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 contains the subsequence RRBG (does not have to be consecutive); reject otherwise.",
"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": "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": "BB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRBGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYRGBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRBGBRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYBBYRRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRRYBRGBGGRYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGBGGGRRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGYBGBRRGGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGGRRBBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBRGBGGGYRRGYBRGBGGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYYYYYYYYYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRYRGBYGBGYGYBBRBYRRGRRYRGBYGBGYGYBBRBY"
}
] |
manufactoria
|
easy
|
597048b0-53b5-42fc-9876-994cf4c3995f
|
contains_ordered
|
Contains RRBG
|
[
{
"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 contains the subsequence YGRR (does not have to be consecutive); reject otherwise.",
"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": "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": "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": "YGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGBRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRRRYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGRRYRYGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYYRYYGGGGGRYRBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGYRRBGYGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBBYGRRGYRBBYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBRYGRBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBYRBRGGYYGRGBYRBRGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYRRRGYYBYGGGRGGBBYGRBYRRRGYYBYGGGRGGBB"
}
] |
manufactoria
|
easy
|
5f848ec5-f2e0-4854-bda2-d0c4fdca7562
|
contains_ordered
|
Contains YGRR
|
[
{
"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 contains the substring 'YGRB' (must be consecutive); reject otherwise.",
"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": "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": "YGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRBGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRRGRBYGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBYGRBYBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRBGYBYGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRYYYGRBGRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYGYRBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBBRBYYYBBRBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGRGYGGGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRRYGRYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGBGBRGYBGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBRBRGYRBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRYYGBRBGRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYYBGYRGBGR"
}
] |
manufactoria
|
easy
|
bf189988-0c9a-46a9-b48a-c4d6be46bbd0
|
contains_substring
|
Contains 'YGRB'
|
[
{
"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 contains the subsequence YGYR (does not have to be consecutive); reject otherwise.",
"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": "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": "YGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGYYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGYRYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYYGGYYGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYBBBGBYYBBRRRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRYRYGYGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRBBRRYGYGRBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYYRYGYGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRGRYBBYYGRYGRGRYBBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBGGYRBGGGRRRYYBBRYGRGBGGYRBGGGRRRYYBBR"
}
] |
manufactoria
|
easy
|
27eee1ea-8547-499b-8531-088d2830da40
|
contains_ordered
|
Contains YGYR
|
[
{
"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 contains the subsequence GBBG (does not have to be consecutive); reject otherwise.",
"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": "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": "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": "GBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYBBBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBBGYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGGGYGGBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGRGBRRBRBYGGBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBGBGBBGBBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGGBBGRGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGGGBBYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBGGGGRYYGBGYBGGGGRYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRRYRYYYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYRGRYBYYGYBRBGRYGBGGGYRGRYBYYGYBRBGRY"
}
] |
manufactoria
|
easy
|
1c01a9ff-0a07-4179-88bb-0b56552cd282
|
contains_ordered
|
Contains GBBG
|
[
{
"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 contains the subsequence BYGG (does not have to be consecutive); reject otherwise.",
"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": "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": "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": "BYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGYGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYGGYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRBGBGBYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGBRYBGRRGRBYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYRGGGGBYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBRGGYBYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYRGBYGYYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRGRBRGBRBYGGRGRBRGBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRRRRRRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRYBYBRYYGRBBBYRGRBYGYRYBYBRYYGRBBBYRGR"
}
] |
manufactoria
|
easy
|
43b8ba28-9d17-438a-ba43-a96df6c6eb70
|
contains_ordered
|
Contains BYGG
|
[
{
"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 contains the substring 'YBBR' (must be consecutive); reject otherwise.",
"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": "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": "YBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBBRBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBYRBBYBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYYYBBRYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBBRBYYBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGYRBYBBRGRYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBBYBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGRBYGGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYBGYBBYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBBBBYBBYBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGRBRBBYBGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBGRBBYRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBYBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGGGGGGGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGRYBBBRBGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGYBBBBYRRG"
}
] |
manufactoria
|
easy
|
933442a7-afb1-4d27-905c-69896253946d
|
contains_substring
|
Contains 'YBBR'
|
[
{
"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 contains the substring 'BRGR' (must be consecutive); reject otherwise.",
"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": "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": "BRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGRYYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGGRRBRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBBRGRGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGRYGRBRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYRYBBRGRYRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGRRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBRBGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRYRRBGRYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBYGBRYBYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBGGBRGGBGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBRGRBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRBRGRBYRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYYYYYYYYYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGBRGGRGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYBRRBGYRYY"
}
] |
manufactoria
|
easy
|
45ef67ea-d0df-41f4-8630-1ee2dcd14a97
|
contains_substring
|
Contains 'BRGR'
|
[
{
"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 contains the substring 'BBBR' (must be consecutive); reject otherwise.",
"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": "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": "BBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBBRGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBGRRRBBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYBBBBRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBBRBBBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYGBBBRGBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BBBRBBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGBYBGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YBBBYBYBBBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBGGBBBBBGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGBBBBBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRBRBBBBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBGRBBBGBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBGBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYGYYYGGYGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBYBBBYRBBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYBGBYBYRRY"
}
] |
manufactoria
|
easy
|
8da842a7-0940-441a-af43-1c65dda95ffa
|
contains_substring
|
Contains 'BBBR'
|
[
{
"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 contains the subsequence RGYG (does not have to be consecutive); reject otherwise.",
"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": "GY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"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": "RGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGGBYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGYGYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BGYYBYRGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYYRRYYGBRYRGBBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBYGBRRGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGGYGRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRYGRGYBRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GBGRGBGGYRGGGBGRGBGGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRBBYBBBYBRBYBGGRBRGGGRBBYBBBYBRBYBGGRB"
}
] |
manufactoria
|
easy
|
f7f7f593-856a-49fb-a92c-0ed99fb0cace
|
contains_ordered
|
Contains RGYG
|
[
{
"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 has at least 3 rs and at least 2 ys and at least 1 g; reject otherwise.",
"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": "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": "YB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYRGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYYRGRRRYGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBBRRRBYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRYBYRGGYRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRYRRRYGYYRRRGRYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYBYBRRBRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBRBBYYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBYBRBRBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYBBGGBGYYYBYRBRG"
}
] |
manufactoria
|
easy
|
552b931a-0197-43ff-afd5-3690cdc7f973
|
contains_count
|
Need 3 Rs and 2 Ys and 1 G
|
[
{
"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 contains the subsequence GYRG (does not have to be consecutive); reject otherwise.",
"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": "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": "GYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYRRBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYRGBGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRRBGYGYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGBGGGYYGRRRGGGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYYRGRYGYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYGRYGRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYYGGYRYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYBRRRGBBGYGRYBRRRGBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGRRBBRBYRBGBBYYBGYGYRGRRBBRBYRBGBBYYB"
}
] |
manufactoria
|
easy
|
ffd3b336-15e6-453b-94c8-9b458b6d359a
|
contains_ordered
|
Contains GYRG
|
[
{
"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 contains the substring 'RYGR' (must be consecutive); reject otherwise.",
"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": false,
"expected_output": "",
"input": "RRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BB"
},
{
"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": "RYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYGRRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GYYBGYRYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GRYGRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYGRBRRRYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRYBRYGRRRYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYGRYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYYGGYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGRGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBBGYYRYRBBGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGBRYGYGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBYRRGYRGBYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGYRGYRRGY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYYGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BBBBBBBBBBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRYGYRRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRRRYRGBRGG"
}
] |
manufactoria
|
easy
|
9bf27dfe-48f8-4afd-b54f-300b6a56c41e
|
contains_substring
|
Contains 'RYGR'
|
[
{
"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 contains the substring 'YY' (must be consecutive); reject otherwise.",
"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": "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": "YY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RGBGBYYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBYYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBYGYYRYBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBRGRYYRBRGRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYBYYYBYBY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGRBBRRBBGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGYYYRRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYBYYG"
}
] |
manufactoria
|
easy
|
4c5a83e1-3c2a-44cb-8302-f401bf003dec
|
contains_substring
|
Contains '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 contains the substring 'RRYB' (must be consecutive); reject otherwise.",
"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": "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": "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": "RRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRYBGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRBBYGRRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRRYBYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRYBYRRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RYYRRYBRYRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRYBRYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RYRGYGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BGRRRBGRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RGYYRRRGYY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBYGRRYRBYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBBYRRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRYBYRRGRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRYYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGGGGGGGGGG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRRRYRYBRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRRGRRYYBRR"
}
] |
manufactoria
|
easy
|
901a947c-1efc-4c64-a08d-d3119c5c83ec
|
contains_substring
|
Contains 'RRYB'
|
[
{
"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 contains the substring 'YRGB' (must be consecutive); reject otherwise.",
"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": "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": "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": "YRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGBRGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGGRYBYRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YYGYRGBYR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YRGBGBGYRGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBBRYRGBGRBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRRGGYB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GBGBYGBGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YGBYRYGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GRBYRGGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRRYBGRYBRRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBBBGRYRBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRGGB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRGYRRGBRRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RBYYRRGGBYG"
}
] |
manufactoria
|
easy
|
928a5f7a-da1a-45fa-b184-db912ea9a539
|
contains_substring
|
Contains 'YRGB'
|
[
{
"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 contains the subsequence BRRB (does not have to be consecutive); reject otherwise.",
"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": "YB"
},
{
"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": "BB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYRGRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRRBRBR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YGRGGGBRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYGBYRBBRRYBRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BRGRBRBBRRB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYGBRRBGGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRRBBRRYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "YBYRGBYRYBRBYBYRGBYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "GGGYYYGGGGYG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "BYYBBRBRGYYGYYRRBGBRBBYYBBRBRGYYGYYRRBG"
}
] |
manufactoria
|
easy
|
166af9e6-136d-4d14-8b5b-e093e966518d
|
contains_ordered
|
Contains BRRB
|
[
{
"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 has at least 3 rs and at least 2 gs; reject otherwise.",
"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": "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": "RRGRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGGGRRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RBYGBRRG"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGYGRRGGGGR"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "RRGRRRRGRYRRRRGRRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YRBYYYRR"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "RRYGYBG"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "YYYYYYYBYBBB"
},
{
"check_output": false,
"description": "",
"expected_accepted": false,
"expected_output": "",
"input": "BYRBBBBYGYRY"
},
{
"check_output": false,
"description": "",
"expected_accepted": true,
"expected_output": "",
"input": "GGYGRBRYYRBRBGYYGG"
}
] |
manufactoria
|
easy
|
ad29807a-2505-4b19-985f-3b458287a5a1
|
contains_count
|
Need 3 Rs and 2 Gs
|
End of preview. Expand
in Data Studio
README.md exists but content is empty.
- Downloads last month
- 21