Skip to content

Instantly share code, notes, and snippets.

@zoffixznet

zoffixznet/p6.p6 Secret

Created October 7, 2017 16:25
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save zoffixznet/ef3a219daa63cd708524674d0c1c6770 to your computer and use it in GitHub Desktop.
Save zoffixznet/ef3a219daa63cd708524674d0c1c6770 to your computer and use it in GitHub Desktop.
#!/usr/bin/env perl6
use nqp;
my $lines := nqp::split("\n",
nqp::decode(nqp::readfh(nqp::getstdin(),buf8.new,0x10000000), 'utf8'));
my int $tests = nqp::atpos(nqp::radix(10,nqp::shift($lines),0,0),0);
my int $i = -1;
my str $out = '';
nqp::while(
nqp::islt_i(($i = nqp::add_i($i,1)),$tests),
nqp::stmts(
(my int $cakewalk = 0),
(my int $simple = 0),
(my int $easy = 0),
(my int $easy-medium-medium = 0),
(my int $medium-hard-hard = 0),
(my int $meals = nqp::atpos(nqp::radix(10,nqp::shift($lines),0,0),0)),
(my int $im = -1),
nqp::while(
nqp::islt_i(($im = nqp::add_i($im,1)),$meals),
nqp::stmts(
(my str $l = nqp::shift($lines)),
nqp::iseq_s($l, 'cakewalk') ?? ($cakewalk = nqp::add_i($cakewalk,1))
!! nqp::iseq_s($l, 'simple') ?? ($simple = nqp::add_i($simple,1))
!! nqp::iseq_s($l, 'easy') ?? ($easy = nqp::add_i($easy,1))
!! nqp::iseq_s($l, 'easy-medium') || nqp::iseq_s($l, 'medium')
?? ($easy-medium-medium = nqp::add_i($easy-medium-medium,1))
!! nqp::iseq_s($l, 'medium-hard') || nqp::iseq_s($l, 'hard')
?? ($medium-hard-hard = nqp::add_i($medium-hard-hard,1))
!! nqp::null)),
($out = nqp::concat($out,
nqp::iseq_i($cakewalk, 1)
&& nqp::iseq_i($simple, 1)
&& nqp::iseq_i($easy, 1)
&& $easy-medium-medium
&& $medium-hard-hard
?? "Yes\n" !! "No\n"))));
nqp::print($out);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment