Introdução
Neste desafio, sua tarefa é listar corretamente os casos de dois substantivos finlandeses. O segredo é que você pode usar uma das listas como guia para produzir a outra.
Os Substantivos
Usamos as duas tabelas de declinação a seguir como dados. Eles listam os casos de dois substantivos, um caso por linha, na mesma ordem que no artigo da Wikipedia vinculado acima, na forma singular: plural, quando aplicável.
Tabela 1: Casos de óvulos ("porta")
ovi : ovet
oven : ovien
oven : ovet
ovea : ovia
ovessa : ovissa
ovesta : ovista
oveen : oviin
ovella : ovilla
ovelta : ovilta
ovelle : oville
ovena : ovina
oveksi : oviksi
ovin
ovetta : ovitta
ovine
Tabela 2: Casos de jalka ("pé")
jalka : jalat
jalan : jalkojen
jalan : jalat
jalkaa : jalkoja
jalassa : jaloissa
jalasta : jaloista
jalkaan : jalkoihin
jalalla : jaloilla
jalalta : jaloilta
jalalle : jaloille
jalkana : jalkoina
jalaksi : jaloiksi
jaloin
jalatta : jaloitta
jalkoine
A tarefa
Sua tarefa é escrever dois programas fe g(possivelmente com nomes diferentes) que recebem uma string como entrada, fornecem uma string como saída e têm a seguinte propriedade. Se a Tabela 1 é fornecida fcomo entrada, ela gera a Tabela 2, e se a Tabela 2 é fornecida g, ela gera a Tabela 1. Todas as outras entradas resultam em comportamento indefinido. As tabelas devem aparecer exatamente como acima, tanto na entrada quanto na saída. Opcionalmente, você pode assumir que há uma nova linha à direita, mas ela deve ser usada nas duas tabelas e nas entradas e saídas. Não há nova linha anterior.
Regras e Bônus
Você pode escrever fe gcomo funções ou programas completos, mas eles devem ser do mesmo tipo e devem ser completamente separados (se você escrever uma função auxiliar f, deverá reescrevê-la gse quiser usá-la) . A menor contagem total de bytes vence e as brechas padrão não são permitidas.
Há um bônus de -25% por não usar expressões regulares.
Alguns esclarecimentos
É perfeitamente correto escrever uma função / programa fque ignore sua entrada e sempre retorne a Tabela 2, e uma função / programa gque sempre retorne a Tabela 1. É necessário apenas que e ; o comportamento de e em todas as outras entradas é irrelevante.f(Table 1) == Table 2g(Table 2) == Table 1fg
A parte "completamente separada" significa o seguinte. Sua resposta fornece dois pedaços de código, um para fe outro para g, de preferência em caixas de código diferentes. Se eu colocar o código fem um arquivo e executá-lo, ele funcionará e o mesmo para g. Sua pontuação é a soma das contagens de bytes dos dois pedaços de código. Qualquer código duplicado é contado duas vezes.
f como entrada"
if Table 1 is given `f` as inputComo alguém insere uma função em uma tabela? Eu não entendo esta parte #