Dato un input di un verbo spagnolo nella sua forma infinita, emette il verbo coniugato in tutte e 6 le forme dell'imperfetto indicativo.
Per coniugare un infinito nell'imperfetto, rimuovere la desinenza infinita (-ar, -er, -ir e talvolta -ír) e aggiungere le desinenze imperfette elencate di seguito. Ci sono tre verbi irregolari nell'imperfetto, elencati anche di seguito.
Verb ending Replace with...
--------------------------------------------------------
-ar -aba, -abas, -aba, -ábamos, -abais, -aban
-er, -ir, -ír -ía, -ías, -ía, -íamos, -íais, -ían
Irreg. verb Conjugations
--------------------------------------------------------
ser era, eras, era, éramos, erais, eran
ver veía, veías, veía, veíamos, veíais, veían
ir iba, ibas, iba, íbamos, ibais, iban
Ai fini di questa sfida, utilizzare le lettere maiuscole anziché le lettere accentate (á diventa A, é diventa E e í diventa I). Questo solo perché le lettere accentate sono 2 byte in UTF-8, ma possono essere diverse in altre codifiche, e preferirei non doverne fare a meno e rimanere all'interno di ASCII stampabile.
I verbi infiniti saranno sempre lunghi tre o più caratteri con la sola eccezione del verbo ir , non conterranno mai lettere accentate con l'eccezione dei verbi che terminano in -ír e finiranno sempre in -ar, -er, -ir, oppure -ír. I verbi riflessivi non devono essere gestiti.
L'output può essere nella forma di una stringa separata da spazi bianchi / virgola (quindi la stampa di ogni coniugazione su STDOUT sulla propria riga va bene) o una matrice / lista / ecc.
Dato che si tratta di code-golf , vince il codice più breve in byte.
Casi test:
In Out
---------------------------------------------------------------
hablar hablaba hablabas hablaba hablAbamos hablabais hablaban
comer comIa comIas comIa comIamos comIais comIan
vivir vivIa vivIas vivIa vivIamos vivIais vivIan
sonreIr sonreIa sonreIas sonreIa sonreIamos sonreIais sonreIan
ser era eras era Eramos erais eran
ver veIa veIas veIa veIamos veIais veIan
ir iba ibas iba Ibamos ibais iban