Um dado ocidental tradicional é um cubo, no qual os números inteiros 1 a 6 são marcados nas faces. Pares que somam 7 são colocados em faces opostas.
Como é um cubo, só podemos ver entre 1 e 3 faces (inclusive) 1 a qualquer momento. Rostos opostos nunca podem ser vistos ao mesmo tempo.
Sua tarefa é escrever um programa ou função que, dada uma lista de números inteiros representando os lados de um dado, determine se é possível ver esses rostos ao mesmo tempo.
1 Ok, talvez você possa ver 4 ou 5 rostos com um par de olhos, mas, para o propósito desse desafio, observamos o dado a partir de um único ponto.
Regras:
- Seu envio pode assumir a lista de entrada:
- Não está vazio.
- Contém apenas valores que satisfazem
1 ≤ n ≤ 6
. - Não contém elementos duplicados.
- Você não pode assumir que a entrada está classificada.
- Seu envio deve gerar um valor de verdade / falsidade : verdade é que os rostos podem ser vistos ao mesmo tempo, caso contrário, falso.
- Isso é código-golfe , então a resposta mais curta (em bytes) vence!
- As brechas padrão são proibidas por padrão.
Casos de teste
Verdade:
[6] (One face)
[6, 2] (Share a side)
[1, 3] (Share a side)
[2, 1, 3] (Share a vertex)
[3, 2, 6] (Share a vertex)
Falsy:
[1, 6] (1 and 6 are opposite)
[5, 4, 2] (2 and 5 are opposite)
[3, 1, 4] (3 and 4 are opposite)
[5, 4, 6, 2] (Cannot see 4 faces)
[1, 2, 3, 4, 5, 6] (Cannot see 6 faces)