Perl6 Bracket Match

2015-12-14 0 874
Perl6 Bracket Match
#!/usr/bin/env perl6

my \stdin = $*IN;

my $count = ~stdin.get();

my %table = 93 => 91, 41 => 40;

my @list = (91, 40);

for ^$count {
    my $str = ~stdin.get();

    my @chars = $str.encode('ASCII')[0 .. * - 1];
    
    my @stack;

    for @chars -> $ch {
		if @stack ~~ 0 || ($ch (elem) @list) {
			@stack.push: $ch;
		} else {
			if @stack[* - 1] == %table{$ch} {
			@stack.pop();
			} else {
			say "No";
			exit;
			}
		}
    }
    say @stack ~~ 0 ?? "Yes" !! "No";
}

遇见资源网 perl Perl6 Bracket Match http://www.ox520.com/13015.html

上一篇:

已经没有上一篇了!

下一篇:

已经没有下一篇了!

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务