谷歌骰子题目

有二十个骰子,每个骰子有六个面,每个面有一个字母或空字符串(用下划线代表),输入一个phrase输出是否能用不同的骰子面(每个面只能用一次,可以用一个骰子的多个面)组合出这个phrase,返回值是<骰子#,面#>的vector

所以phrase的长度<=6?
感觉可以用dfs搜索。记录一个global boolean variable为result,初始为False。返回值是List<<骰子,面>>。用visited set记录访问过的面,确保每个面只能被visit一次。然后递归搜索phrase的下一个char。当List的长度等于phrase长度时更新result为True,终止dfs。