Dado o nome de um cátion e ânion, produza "S" (solúvel) ou "I" (insolúvel). A tabela que usaremos é da wikipedia: https://en.wikipedia.org/wiki/Solubility_chart . É copiado no final da pergunta para referência futura.
Entrada : O cátion, seguido pelo ânion, separado por um espaço. O cátion será um dos seguintes:
Lithium Sodium Potassium Ammonium Beryllium Magnesium Calcium
Strontium Barium Zinc Iron(II) Copper(II) Aluminium Iron(III) Lead(II) Silver
e o ânion será um dos seguintes:
Fluoride Chloride Bromide Iodide Carbonate Chlorate Hydroxide Cyanide Cyanate
Thiocyanate Nitrate Oxide Phosphate Sulfate Dichromate
Cada um terá sua primeira letra maiúscula.
Exemplo de entrada: Sodium Chloride
Saída : Um valor verdadeiro ou S
, se for solúvel, falsey ou de I
outra forma. Se a página da wikipedia listar qualquer outra coisa (por exemplo, ligeiramente solúvel ou reagir com água) ou se a entrada não estiver na forma "ânion cátion", seu programa poderá fazer qualquer coisa (comportamento indefinido) e, portanto, produzir 'S', ' Eu ', ou qualquer outra coisa.
Mesa:
?,S,S,S,?,S,S,S,?,S,S,?,I,S,S
S,S,S,S,S,S,S,S,S,S,S,?,S,S,S
S,S,S,S,S,S,S,S,S,S,S,?,S,S,S
S,S,S,S,S,S,S,S,?,S,S,?,S,S,S
S,S,S,?,?,?,?,?,?,?,S,?,?,S,?
?,S,S,S,I,S,I,?,?,?,S,I,I,S,I
I,S,S,S,I,S,?,S,?,?,S,?,I,?,I
?,S,S,S,I,S,S,?,?,?,S,?,?,I,?
?,S,S,S,I,S,S,S,?,?,S,?,?,I,?
?,S,S,S,I,S,I,I,?,?,S,I,I,S,I
S,S,S,S,I,S,I,?,?,?,S,I,I,S,I
?,S,S,?,I,S,I,?,?,I,S,I,I,S,I
S,S,S,?,?,S,I,?,?,?,S,I,I,S,I
?,S,S,?,?,S,I,?,?,?,S,I,I,?,I
?,?,?,I,I,S,I,?,?,?,S,I,I,I,?
S,I,I,I,I,S,?,I,I,?,S,?,I,?,I
As linhas são cátions na ordem listada acima e as colunas são ânions. Por exemplo, como o iodeto de magnésio é solúvel e o magnésio é o sexto cátion e o iodeto é o quarto ânion, a sexta linha e a quarta coluna têm o caractere 'S'. O ?
indica comportamento indefinido.
kolmogorov-complexity
tag, o desafio não exige a saída da tabela, mas o valor correto para um determinado par (cátion, ânion).
truthy
/ 'S'
ou falsy
/ 'I'
?
?
s dá muita liberdade em quais algoritmos se pode usar.