Post History
Perl, 122 bytes Reads line from stdin, exits 0 if true; 1 if false. perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit(%c<grep$_,%c)' ...
#6: Post edited
- # Perl, 122 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit(%c<grep$_,%c)'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit( %c < grep $_,%c ) # grep returns keys and non-zero values
- # which is >= keys alone
- '
- ```
[Try it online!][TIO-mo8gw39o][TIO-mo8gw39o]: https://tio.run/##ZY/PbsIwDMbvfQorSgVdKelll2VhPe0JdmgyTQiqDCExqBqQnKC@@rq4ldi/i2X//Pmz3drucD/wjeJbxRtVyiRt1DyTSXJxFtxl62BmcX@eySQWQOmcZ3CFttsfz8DXr@UbPAF73hycZfAA7KW7xKRPRsE7sNSBWgFb8HW0EFCslndCyOFj014rp@Yc83LBPYWQl5ms7MiUQFGIWlBLCR9zLUihRIi5EZnkzZVVDirL@jyfKguVY31R9GIpdnK8NW0ed51t@XqRNtkwIGoTT4Dx3AR9rX9VtcYpftMoQV17H4NGT5weTCJC4tPEDU/TJI59fcMkC7UhHtDcMGlGc9rxx0YHCtMIBfOzGQhg8GaSGTLBoKn0BuMqmgyIpv7hGV///8z45OepPe9PRzcUx8MX "Perl 5 – Try It Online"
- # Perl, 122 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit(%c<grep$_,%c)'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit( %c < grep $_,%c ) # grep returns keys and non-zero values
- # which is >= keys alone
- '
- ```
- [Try it online!][TIO-mocbti7g]
- [TIO-mocbti7g]: https://tio.run/##ZY/BasMwDIbveQphHJqsTV0Yu8xzl9OeYIfYY5QueKXQtSFuQXbJqy@zEujW7iJ@ff71y2psu3voOSruFQ9qIZO0Vlkuk@TkLLjTh4OJxe1xIpPYAMmM53CGpt3uj8BXb4t3eAb2st45y@AR2Gt7iqJLBsMnsNSBWgKb8VWMEFAs53dCyL50KlvkCPfya92cS6syjlMlUBSiEjPuo/ZR66hD1CFqI3LJ6zMrHZSWddPp2FkoHeuKQsbI0nZiLjZy@GdaP21a2/DVLK3zvkfUJq6H4asJ@kpfdZXGsf7SaEFdeR@LRk@cjksiQuLjxAWP02SO7/qCyRYqQzyguWDyDOG04yZGByrjCBXz9zEQwODNaDMUgkFT6w3GVTQZEE11nfn/mPHI70Nz3B72ri/2ux8 "Perl 5 – Try It Online"
#5: Post edited
# Perl, 125 bytes- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!!grep$_,values%c'- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
exit !! grep $_, values %c- '
- ```
[Try it online!][TIO-mo16p0bj][TIO-mo16p0bj]: https://tio.run/##XY/BbsIwDIbvfQoTBUFXSnrZZVVYT3uCHZpMEypVhpA6qBo6JUF99XV2kWDiYv3@/Oe305queR55JflO8lpmeTSv5TLOo6i3Bmy/s7Aw7nBe5BE2QHLJY7hA2x2OZ@Dbj@wTXoG9VY01DF6AvXc9iiGaDF/A5hbkBtiKbzFCQLpZPwmRj99VeymsXHKXZCvuqYQki/PCTEwKJ1JRChpJ4VErQQ4pAmot4pzXF1ZYKAwbkuTaGSgsG9J0EGuxz@nW2WzfmZZvVz9V0xs7r8fROaXxCpgujpwv1b3DxqnSeyzKeeL0mwiRI44Q/TeMmmw4wbm6YbKFUhMPTt8weaZw2vEQowKV6xMq@v8wEHDB66tNU4gLilqvHa6il8E5Xd4zf0/t@XA62jE9Nn8 "Perl 5 – Try It Online"
- # Perl, 122 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit(%c<grep$_,%c)'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit( %c < grep $_,%c ) # grep returns keys and non-zero values
- # which is >= keys alone
- '
- ```
- [Try it online!][TIO-mo8gw39o]
- [TIO-mo8gw39o]: https://tio.run/##ZY/PbsIwDMbvfQorSgVdKelll2VhPe0JdmgyTQiqDCExqBqQnKC@@rq4ldi/i2X//Pmz3drucD/wjeJbxRtVyiRt1DyTSXJxFtxl62BmcX@eySQWQOmcZ3CFttsfz8DXr@UbPAF73hycZfAA7KW7xKRPRsE7sNSBWgFb8HW0EFCslndCyOFj014rp@Yc83LBPYWQl5ms7MiUQFGIWlBLCR9zLUihRIi5EZnkzZVVDirL@jyfKguVY31R9GIpdnK8NW0ed51t@XqRNtkwIGoTT4Dx3AR9rX9VtcYpftMoQV17H4NGT5weTCJC4tPEDU/TJI59fcMkC7UhHtDcMGlGc9rxx0YHCtMIBfOzGQhg8GaSGTLBoKn0BuMqmgyIpv7hGV///8z45OepPe9PRzcUx8MX "Perl 5 – Try It Online"
#4: Post edited
# Perl, 119 bytes- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!grep!$_,%c'- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
exit ! grep !$_, %c # the keys used here are never falsy- '
- ```
[Try it online!][TIO-mo6w945n][TIO-mo6w945n]: https://tio.run/##XY/BagIxEIbv@xRjiLhbXbNQemmI3VOfoIdNShErqQhWl43CJLKv3u2MgpZehn@@@fPPpPXd7mmQaGQ0MplKZ@O1yQudZafgIZw@A0w8bo8TnVEDLHNZwBnabrs/gly@Vx/wAuJ1tQtewDOIt@5Eos8uhi8Q4wBmAWImlxShoFzMH5TSQx1MXhUIj/p71Z5rb3KJU6NQlapRMxlJR9KWdCKdSDtVaLk@izpA7UU/nV47D3UQfVlqiqx9r@Zqo/nO0abz7UguZ@P1MCBaR7vhcmeGsbH3jhq0TYxULEbm/IeMEDInSP4bJs02mtDc3jDbUuOYJ3Q3zJ5LOO/4F2MTl@sTLu7vMDHAFN3V5jgEk@U2OqRV/DIhuuae@XNoj9vDPgzlfvcL "Perl 5 – Try It Online"
- # Perl, 125 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!!grep$_,values%c'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit !! grep $_, values %c
- '
- ```
- [Try it online!][TIO-mo16p0bj]
- [TIO-mo16p0bj]: https://tio.run/##XY/BbsIwDIbvfQoTBUFXSnrZZVVYT3uCHZpMEypVhpA6qBo6JUF99XV2kWDiYv3@/Oe305queR55JflO8lpmeTSv5TLOo6i3Bmy/s7Aw7nBe5BE2QHLJY7hA2x2OZ@Dbj@wTXoG9VY01DF6AvXc9iiGaDF/A5hbkBtiKbzFCQLpZPwmRj99VeymsXHKXZCvuqYQki/PCTEwKJ1JRChpJ4VErQQ4pAmot4pzXF1ZYKAwbkuTaGSgsG9J0EGuxz@nW2WzfmZZvVz9V0xs7r8fROaXxCpgujpwv1b3DxqnSeyzKeeL0mwiRI44Q/TeMmmw4wbm6YbKFUhMPTt8weaZw2vEQowKV6xMq@v8wEHDB66tNU4gLilqvHa6il8E5Xd4zf0/t@XA62jE9Nn8 "Perl 5 – Try It Online"
#3: Post edited
# Perl, 125 bytes- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!!grep$_,values%c'- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
map{- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
exit !! grep $_, values%c- '
- ```
[Try it online!][TIO-mo1kr21f][TIO-mo1kr21f]: https://tio.run/##XY/BbsIwDIbvfQovCqIdlCBNuywK62lPsEOTaUIMZQipg6qhkxPEq6@zQYJpF@v35z@/ndZ3zeMg0choZDJznY3WJi90lvXBQ@g/Aow9bg9jnVEDLHNZwBHabrs7gFy@zd/hGcTLqglewBOI164nccrOhk8QowBmAWIqlxShoFzM7pXSQxVMPi8QHvTXqj1W3uQSJ0ahKlWtpjKSjqQt6UQ6kXaq0HJ9FFWAyovTZHLpPFRBnMpSU2TlT2qmNprvvLvbdL6Vy@n3qul9GK2HAdE6ugDO12YYa3vrqEFbx0jFYmTOP8kIIXOC5L9i0myjCc3tFbMt1Y55QnfF7DmH845/MTZxuTzh4v4OEwNM0V1sjkMwWW6jQ1rFLxOiq2@ZP/v2sN3vwlDuml8 "Perl 5 – Try It Online"
- # Perl, 119 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!grep!$_,%c'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map {
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit ! grep !$_, %c # the keys used here are never falsy
- '
- ```
- [Try it online!][TIO-mo6w945n]
- [TIO-mo6w945n]: https://tio.run/##XY/BagIxEIbv@xRjiLhbXbNQemmI3VOfoIdNShErqQhWl43CJLKv3u2MgpZehn@@@fPPpPXd7mmQaGQ0MplKZ@O1yQudZafgIZw@A0w8bo8TnVEDLHNZwBnabrs/gly@Vx/wAuJ1tQtewDOIt@5Eos8uhi8Q4wBmAWImlxShoFzMH5TSQx1MXhUIj/p71Z5rb3KJU6NQlapRMxlJR9KWdCKdSDtVaLk@izpA7UU/nV47D3UQfVlqiqx9r@Zqo/nO0abz7UguZ@P1MCBaR7vhcmeGsbH3jhq0TYxULEbm/IeMEDInSP4bJs02mtDc3jDbUuOYJ3Q3zJ5LOO/4F2MTl@sTLu7vMDHAFN3V5jgEk@U2OqRV/DIhuuae@XNoj9vDPgzlfvcL "Perl 5 – Try It Online"
#2: Post edited
# Perl, 129 bytes- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
perl -nE'map{@s=($x+0,$y+0,$z+0);@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--}/./g;exit!!grep$_,values%c'- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
```- perl -nE'
- map{
@s = ($x+0, $y+0, $z+0);- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
$c{"@e @s"}--- } /./g;
- exit !! grep $_, values%c
- '
- ```
[Try it online!][TIO-mo16p0bj][TIO-mo16p0bj]: https://tio.run/##XY/BbsIwDIbvfQoTBUFXSnrZZVVYT3uCHZpMEypVhpA6qBo6JUF99XV2kWDiYv3@/Oe305queR55JflO8lpmeTSv5TLOo6i3Bmy/s7Aw7nBe5BE2QHLJY7hA2x2OZ@Dbj@wTXoG9VY01DF6AvXc9iiGaDF/A5hbkBtiKbzFCQLpZPwmRj99VeymsXHKXZCvuqYQki/PCTEwKJ1JRChpJ4VErQQ4pAmot4pzXF1ZYKAwbkuTaGSgsG9J0EGuxz@nW2WzfmZZvVz9V0xs7r8fROaXxCpgujpwv1b3DxqnSeyzKeeL0mwiRI44Q/TeMmmw4wbm6YbKFUhMPTt8weaZw2vEQowKV6xMq@v8wEHDB66tNU4gLilqvHa6il8E5Xd4zf0/t@XA62jE9Nn8 "Perl 5 – Try It Online"
- # Perl, 125 bytes
- Reads line from stdin, exits 0 if true; 1 if false.
- ```sh
- perl -nE'@s=(0)x 3;map{@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--;@s=@e}/./g;exit!!grep$_,values%c'
- ```
- Store start/end (+1) and end/start (-1) move counters.
- If any counter ends up non-zero there is an imbalance.
- ```sh
- perl -nE'
- @s = (0) x 3;
- map{
- @e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
- $c{"@s @e"}++;
- $c{"@e @s"}--;
- @s = @e
- } /./g;
- exit !! grep $_, values%c
- '
- ```
- [Try it online!][TIO-mo1kr21f]
- [TIO-mo1kr21f]: https://tio.run/##XY/BbsIwDIbvfQovCqIdlCBNuywK62lPsEOTaUIMZQipg6qhkxPEq6@zQYJpF@v35z@/ndZ3zeMg0choZDJznY3WJi90lvXBQ@g/Aow9bg9jnVEDLHNZwBHabrs7gFy@zd/hGcTLqglewBOI164nccrOhk8QowBmAWIqlxShoFzM7pXSQxVMPi8QHvTXqj1W3uQSJ0ahKlWtpjKSjqQt6UQ6kXaq0HJ9FFWAyovTZHLpPFRBnMpSU2TlT2qmNprvvLvbdL6Vy@n3qul9GK2HAdE6ugDO12YYa3vrqEFbx0jFYmTOP8kIIXOC5L9i0myjCc3tFbMt1Y55QnfF7DmH845/MTZxuTzh4v4OEwNM0V1sjkMwWW6jQ1rFLxOiq2@ZP/v2sN3vwlDuml8 "Perl 5 – Try It Online"
#1: Initial revision
# Perl, 129 bytes
Reads line from stdin, exits 0 if true; 1 if false.
```sh
perl -nE'map{@s=($x+0,$y+0,$z+0);@e=($x+=/x/-/X/,$y+=/y/-/Y/,$z+=/z/-/Z/);$c{"@s @e"}++;$c{"@e @s"}--}/./g;exit!!grep$_,values%c'
```
Store start/end (+1) and end/start (-1) move counters.
If any counter ends up non-zero there is an imbalance.
```
perl -nE'
map{
@s = ($x+0, $y+0, $z+0);
@e = ($x+=/x/-/X/, $y+=/y/-/Y/, $z+=/z/-/Z/);
$c{"@s @e"}++;
$c{"@e @s"}--
} /./g;
exit !! grep $_, values%c
'
```
[Try it online!][TIO-mo16p0bj]
[TIO-mo16p0bj]: https://tio.run/##XY/BbsIwDIbvfQoTBUFXSnrZZVVYT3uCHZpMEypVhpA6qBo6JUF99XV2kWDiYv3@/Oe305queR55JflO8lpmeTSv5TLOo6i3Bmy/s7Aw7nBe5BE2QHLJY7hA2x2OZ@Dbj@wTXoG9VY01DF6AvXc9iiGaDF/A5hbkBtiKbzFCQLpZPwmRj99VeymsXHKXZCvuqYQki/PCTEwKJ1JRChpJ4VErQQ4pAmot4pzXF1ZYKAwbkuTaGSgsG9J0EGuxz@nW2WzfmZZvVz9V0xs7r8fROaXxCpgujpwv1b3DxqnSeyzKeeL0mwiRI44Q/TeMmmw4wbm6YbKFUhMPTt8weaZw2vEQowKV6xMq@v8wEHDB66tNU4gLilqvHa6il8E5Xd4zf0/t@XA62jE9Nn8 "Perl 5 – Try It Online"
