前書き
この課題では、フィンランド語の2つの名詞の格を正しくリストすることがあなたの仕事です。ツイストは、リストの1つをガイドとして使用して、もう1つを作成できることです。
名詞
データとして、次の2つの偏角テーブルを使用します。彼らは、2つの名詞の格を、上記のWikipediaの記事と同じ順序で、1行に1つの格を、該当する場合は単数形:複数の形式でリストします。
表1:ovi(「ドア」)のケース
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
表2:ジャルカ( "足")の症例
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
タスク
あなたの仕事は、1つの文字列を入力として受け取り、1つの文字列を出力として与え、次のプロパティを持つ2つのプログラムf
とg
(おそらく名前が異なる)を書くことです。Table 1がf
入力として指定されている場合はTable 2をg
出力し、Table 2がに指定されている場合はTable 1を出力します。他のすべての入力は未定義の動作になります。テーブルは、入力と出力の両方で上記とまったく同じように表示される必要があります。オプションで、後続の改行があると想定することもできますが、その場合は両方のテーブル、および入力と出力の両方で使用する必要があります。先行する改行はありません。
ルールとボーナス
あなたが書くことができますf
し、g
どちらかの機能または完全なプログラムとして、彼らは同じ型でなければなりません、そして、彼らは完全に分離する必要があります(あなたがのためのヘルパー関数を書く場合はf
あなたが再書き込み、それをしなければならない、g
あなたはそれを使用したい場合があります) 。最小の合計バイト数が優先され、標準の抜け穴は許可されません。
正規表現を使用しない場合は-25%のボーナスがあります。
いくつかの説明
これは、関数/プログラムの書き込みにまったく問題ありf
その入力を無視し、常に表2、および機能/プログラムを返しg
、常にそれが唯一のことを必要とする表1を返すことと;を 行動や他のすべての入力には無関係です。f(Table 1) == Table 2
g(Table 2) == Table 1
f
g
「完全に分離した」部分とは、次のことを意味します。あなたの答えは、コードの2個に1つの提供f
のためにと1をg
好ましくは異なるコードボックスに、。のコードをf
ファイルに入れて実行すると、機能しg
ます。スコアは、2つのコードのバイト数の合計です。重複したコードは2回カウントされます。
f
れている場合」
if Table 1 is given `f` as input
どのようにして関数をテーブルに入力しますか?私はこの部分を理解していません