Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
17
Task/ABC-Problem/Sidef/abc-problem-1.sidef
Normal file
17
Task/ABC-Problem/Sidef/abc-problem-1.sidef
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
func can_make_word(word, blocks) {
|
||||
|
||||
blocks.map! { |b| b.uc.chars.sort.join }.freq!
|
||||
|
||||
func(word, blocks) {
|
||||
var char = word.shift
|
||||
var candidates = blocks.keys.grep { |k| 0 <= k.index(char) }
|
||||
|
||||
for candidate in candidates {
|
||||
blocks{candidate} <= 0 && next;
|
||||
local blocks{candidate} = (blocks{candidate} - 1);
|
||||
return true if (word.is_empty || __FUNC__(word, blocks));
|
||||
}
|
||||
|
||||
return false;
|
||||
}(word.uc.chars, blocks)
|
||||
}
|
||||
19
Task/ABC-Problem/Sidef/abc-problem-2.sidef
Normal file
19
Task/ABC-Problem/Sidef/abc-problem-2.sidef
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
var b1 = %w(BO XK DQ CP NA GT RE TG QD FS JW HU VI AN OB ER FS LY PC ZM)
|
||||
var b2 = %w(US TZ AO QA)
|
||||
|
||||
var tests = [
|
||||
["A", true, b1],
|
||||
["BARK", true, b1],
|
||||
["BOOK", false, b1],
|
||||
["TREAT", true, b1],
|
||||
["COMMON", false, b1],
|
||||
["SQUAD", true, b1],
|
||||
["CONFUSE", true, b1],
|
||||
["auto", true, b2],
|
||||
];
|
||||
|
||||
tests.each { |t|
|
||||
var bool = can_make_word(t[0], t[2]);
|
||||
say ("%7s -> %s" % (t[0], bool));
|
||||
assert(bool == t[1])
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue