1. Haverá um total de 500 caracteres no texto. Somente cartas. Sem espaços entre as palavras e sem pontuação.
(2) O árbitro escreverá o texto e o colocará no FF sob a forma de números.
3. Não nos deixemos distrair por questões secundárias.
Se houver um árbitro (e onde vamos conseguir um?) eu também poderei participar. Caso contrário, não poderei participar e compilarei as tarefas, vocês competirão sem mim.
Se alguém da MQ estiver observando esta linha, entre em contato! Necessidade de um juiz humano para a competição.
Se alguém responder, eu darei a essa pessoa o código de tarefa para inserir texto nele.
Depois de resolver este problema será ainda mais interessante, eu prometo.
Conhecer o código do problema (especialmente a possibilidade de compondo-o a seu próprio critério) é uma vantagem.
Todos ou nenhum dos participantes deve saber o código do problema.
Vamos supor que todos conhecem o código do problema. E daí? O principal é resolver o problema.
Por que você é tão desconfiado?!!! Eu lhe mostrarei o código, é claro! Somente o juiz a compilará.
Todos verão o código, você verá como e o que é contado no FF, mas o juiz inserirá seu texto e a solução correta terá que ser encontrada. Conhecer o código não o ajudará de forma alguma.
#property library#property strictint countRuns = 0;
//+------------------------------------------------------------------+int GetParamCount () export
{
textLen = StringLen(Code);
return (textLen);
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+void GetParamProperties (double &min, double &max, double &step) export
{
min = 0.0;
max = 40.0;
step = 1.0;
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+double FF (double ¶m []) export
{
countRuns++;
int sizeArray = ArraySize (param);
if(sizeArray != textLen)
return (0.0);
int ffVolue = 0;
for (int i=0; i< textLen; i++)
{
if(GetCode(param [i]) == StringSubstr(Code, i, 1))
ffVolue++;
}
return (double(ffVolue));
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+int GetCountRunsFF () export
{
return (countRuns);
}
//+------------------------------------------------------------------+//+------------------------------------------------------------------+void PrintCodeToFile (double ¶m []) export
{
int sizeArray = ArraySize (param);
if(sizeArray != textLen)
{
Print ("Неверное количество параметров, печать в файл производится не будет!");
return;
}
string code = "";
for(int i=0; i<textLen; i++)
{
code+=GetCode (param[i]);
}
int handle = FileOpen ("decodeFF.csv", FILE_READ|FILE_WRITE|FILE_ANSI|FILE_CSV);
if(handle==INVALID_HANDLE)
{
Print ("Ошибка записи в файл востановленного текста ФФ. Ошибка: "+ (string)GetLastError());
return;
}
FileWriteString(handle, code);
FileClose (handle);
}
//+------------------------------------------------------------------+string GetCode (double param)
{
int p = (int) MathRound (param);
if(p <0)
p = 0;
if(p > 40)
p = 40;
return (Key [p]);
}
string Key [41] = {"а", "б", "в", "г", "д", "е", "ё", "ж", "з", "и", "й", "к", "л", "м", "н", "о", "п", "р", "с", "т", "у", "ф", "х", "ц", "ч", "ш", "щ", "ъ", "ы", "ь", "э", "ю", "я", ";", ":", ".", ",", "-", "?", "!", " "};
int textLen = 0;
string Code = "редко научная статья сочетает в себе эти два типа";
A variável Código contém a cadeia que você está procurando.
Tente ler a seqüência usando seu algoritmo de otimização.
Administradores: favor substituir o conteúdo da variável Código por texto arbitrário (texto russo regular com pontuação e sem caracteres especiais) com o número de caracteres 300 ... 800 para que a corda contenha caracteres da chave da corda, compilar e colocar neste ramo. Tentaremos ler o fio.
Há 49 caracteres na variável Código no momento. Assim, o valor máximo possível de FF pode render 49,0 (uma correspondência de todos os caracteres da cadeia). Meu algoritmo agora mostra um resultado de 47,0 para 100.000 corridas de FF e cerca de 25,0 para 1000 corridas.
Você vê isso em negrito? Um valor maior é melhor. Quem encontrar o número mais alto é o vencedor.
O que você quer dizer com "o problema deve ser aberto"?
Muito bem.
1. Haverá um total de 500 caracteres no texto. Somente cartas. Sem espaços entre as palavras e sem pontos de pontuação.
(2) O texto será compilado pelo árbitro e colocado no FF como números.
3. Não nos deixemos distrair por questões secundárias.
Bom.
1. Haverá um total de 500 caracteres no texto. Somente cartas. Sem espaços entre as palavras e sem pontuação.
(2) O árbitro escreverá o texto e o colocará no FF sob a forma de números.
3. Não nos deixemos distrair por questões secundárias.
Se houver um árbitro (e onde vamos conseguir um?) eu também poderei participar. Caso contrário, não poderei participar e compilarei as tarefas, vocês competirão sem mim.
Se alguém da MQ estiver observando esta linha, entre em contato! Necessidade de um juiz humano para a competição.
Se alguém responder, eu darei a essa pessoa o código de tarefa para inserir texto nele.
Depois de resolver este problema será ainda mais interessante, eu prometo.
Andrey Dik:
Se alguém responder, eu darei a essa pessoa o código de tarefa para a inserção de texto nele.
Conhecer o código da tarefa (e ainda mais a possibilidade de compor a seu próprio critério) é uma vantagem.
Todos ou nenhum dos participantes deve saber o código de tarefa.
Vamos supor que todos conhecem o código da tarefa. E daí? O principal é resolver o problema.
Conhecer o código do problema (especialmente a possibilidade de compondo-o a seu próprio critério) é uma vantagem.
Todos ou nenhum dos participantes deve saber o código do problema.
Vamos supor que todos conhecem o código do problema. E daí? O principal é resolver o problema.
Por que você é tão desconfiado?!!! Eu lhe mostrarei o código, é claro! Somente o juiz a compilará.
Todos verão o código, você verá como e o que é contado no FF, mas o juiz inserirá seu texto e a solução correta terá que ser encontrada. Conhecer o código não o ajudará de forma alguma.
Haverá outros ainda mais interessantes depois que este for resolvido, prometo.
De qualquer forma, estou começando a fazer alguns preparativos sérios.
Já não era sem tempo.
ZS. Por alguma razão os representantes da MQ não vêm aqui. quem vamos entregar o FF para a compilação?
A variável Código contém a cadeia que você está procurando.
Tente ler a seqüência usando seu algoritmo de otimização.
Administradores: favor substituir o conteúdo da variável Código por texto arbitrário (texto russo regular com pontuação e sem caracteres especiais) com o número de caracteres 300 ... 800 para que a corda contenha caracteres da chave da corda, compilar e colocar neste ramo. Tentaremos ler o fio.
Há 49 caracteres na variável Código no momento. Assim, o valor máximo possível de FF pode render 49,0 (uma correspondência de todos os caracteres da cadeia). Meu algoritmo agora mostra um resultado de 47,0 para 100.000 corridas de FF e cerca de 25,0 para 1000 corridas.