Observe a matriz 5x5 de caracteres chineses acima: quando lida horizontalmente, ela consiste em cinco versos de cinco poemas diferentes, e o mesmo acontece quando lido verticalmente, exatamente dos mesmos versos. Eu o chamo de quadrado mágico dos poemas chineses. -force-search em mais de 287.000 linhas da Coleção Completa de Poemas da Dinastia Tang , descobri 2 desses conjuntos. Você pode reproduzir meus resultados executando gcc -O3 mgsq5.c; ./a.out
風月清江夜
月出夜山深
清夜方歸來
江山歸謝客
夜深來客稀
Todos vocês, por favor, dêem uma olhada nessas vinte e cinco palavras: se vocês as lerem verticalmente, serão como cinco versos de poesia; se vocês as lerem horizontalmente, serão como estes cinco versos de poesia. Cada um foi escrito por um famoso poeta da Dinastia Tang: os poemas de Lu Zhaolin foram escritos por Lu Zhaolin em uma noite clara sob a lua ventosa. Os poemas de Zhang Hu foram escritos por Zhang Hu em uma noite de luar; Ji foi escrito por Taibai, Gao Shi e Zhang Ji em uma noite clara, nas profundezas das montanhas e rios à noite. Ouvi dizer que Luo publicou um livro e contou até nove, Zongheng e Quinze. Não é este o Luoshu do poema? Daí o nome: Prescrição de Fantasia de Poesia Tang. No passado, a esposa de Dou Tao era uma pintura de Xuanji, e a esposa de Su Boyu era um poema no prato. Eu não tinha talento suficiente, então escrevi um livro e pesquisei na poesia Tang para encontrá-lo. Depois de assistir várias vezes, achei maravilhoso, então tornei público para que todos pudessem rir.
Existem duzentas e oitenta e sete mil frases em cinco caracteres em toda a Dinastia Tang. É a única que pode ser considerada um quadrado mágico. Adequado para um deles. Nos outros dois, as frases são muitas vezes brandas e repetitivas, e não são tão interessantes quanto:
心如七十人
如何十年間
七十未成事
十年成底事
人間事事慵
As duas primeiras frases são de Bai Letian e as seguintes são de Yao He, Li Changfu e Li Shanfu. Além dessas cinco palavras, a fórmula ilusória de cinco caracteres é impossível de recuperar, e a fórmula ilusória de três caracteres é inumerável. Vamos dar uma olhada em uma ou duas correntes elegantes:
拂秋水
秋夜長
水長東
Ele foi nomeado por Ren Hua, Bai Juyi e Li Yu.
惜春心
春歌斷
心斷絕
Quando Zhong Fu e Li Xun foram lançados, Lu Tong também apareceu. O resto fica gravado.
A fórmula mágica de sete caracteres é ainda mais difícil do que a fórmula de cinco caracteres. Existem 135.600 sentenças em toda a Dinastia Tang, mas nenhuma delas foi encontrada. Portanto, é uma leniência, mas limitada a quatro frases e uma, três, cinco e sete palavras. A renda é enorme. Se você quiser escolher uma rima que combine com a rima e o ritmo, e com uma lógica suave, ela será nova. O que? Se duas ou quatro frases rimam, os três ou sete caracteres da última frase devem ter a mesma rima, que é um dos oito problemas de rima pequena, por isso as pessoas na Dinastia Tang não faziam isso com frequência.
A primeira frase de uma quadra de sete caracteres não cabe na rima:
長江九派人歸少
江 曲 面 年
九曲寒波不溯流
派 波 知 落
人面不知何處在
歸 溯 處 并
少年流落在并州
Leia verticalmente e horizontalmente. Saíram Huangfu Ran, Li Yu, Cui Hu e Xue Neng. As duas primeiras frases, uma falando sobre o rio Yangtze e a outra sobre o rio Amarelo, parecem inadequadas. As duas últimas frases apontam o motivo: Hu foi encontrado em dois lugares, mas não conseguiu encontrá-lo, então ele morava em Bingzhou! Também é tão engraçado que merece uma risada.
Embora ainda existam leitores que possam ler o resto, alguns estão curvados por motivo de doença, ou alguns estão gravemente doentes, estão todos aqui registados.
Os programas que utilizo devem ser compilados com gcc da seguinte forma:
gcc -O3 mgsq5.c -o mgsq5
Execute-o novamente e você obterá a fórmula mágica de cinco caracteres:
./mgsq5
Você também pode usar o caminho do texto e os números das linhas inicial e final:
./mgsq5 5.txt 0 10000
O mesmo se aplica à Prescrição Mágica de Sete Caracteres:
gcc -O3 mgsq7.c -o mgsq7 ;
./mgsq7
No entanto, não deveria haver ganho e isso não está incluído em toda a poesia Tang. A fórmula para recuar e buscar a referida graça é a seguinte:
gcc -O3 mgsq7x.c -o mgsq7x ;
./mgsq7x
No início, eu queria usar o método do Oitavo Imperador para encontrar a fórmula mágica da poesia Tang. No entanto, cada um dos seus vinte e cinco caracteres pode ser preenchido com mais de cinco mil palavras. Embora a heurística seja usada para ajudar, os resultados são infinitos e os resultados não são esperados. Pense bem nisso, por quê? Ainda não é cedo para podar galhos. Ou preencha a primeira palavra, o que é aceitável na moda, mas é realmente uma maneira obscura de usar a última palavra, mas o procedimento não é claro e a recursão não funcionará. Yu Sicheng é muito problemático e não é tão fácil quanto pesquisar violentamente linha por linha. Embora seja considerado violento, prefixos de um a quatro caracteres também são armazenados no conjunto de hash. Pegue algumas linhas em cada direção horizontal e liste as cinco colunas verticalmente na tabela. Não as guarde e jogue-as fora. Além disso, a matriz quadrada deve ser diagonalmente simétrica. Caso contrário, deve ser descartada. Escrevi em linguagem C e demorou menos de um tempo para obtê-lo.
Sou totalmente inútil em algoritmos e inútil em estudar poesia. Portanto, o que você acha pode não ser o melhor, e o método pode não ser rápido. Se você tiver alguma ideia maravilhosa, eu gostaria de ouvi-la.