[Off] Desafio [grupos de numero]
#1

Bom, eu vi isso num forum, e na verdade ainda nгo tentei resolver porque acabei agora mesmo de ver, mas achei muito interessante!
Um bom desafio...
@DESAFIO
Bom, basicamente eu tenho uma matriz
Код:
1 1 0 0 0 0 0 0 1 1
0 1 1 0 0 1 1 1 1 1
0 1 0 1 1 0 1 0 0 0
1 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1 1 0
0 1 0 0 0 1 1 0 1 1
1 1 1 0 1 1 0 0 1 1
1 1 0 1 0 0 0 0 1 1
0 1 0 0 0 0 0 1 0 0
0 0 1 0 1 0 0 0 0 0
(podem usar como exemplo) e eu quero que todos os numeros 1 sejam subestituidos por outros numeros, mas atencao, que sejam subestituidos por grupos, ou seja, o primeiro grupo de numeros 1, serб dois, o segundo grupo serб 3, o terceiro grupo serб 4, e por aн fora, ficando
Код:
2 2 0 0 0 0 0 0 3 3
0 2 2 0 0 3 3 3 3 3
0 2 0 4 4 0 3 0 0 0
2 2 0 4 4 4 0 4 4 4
0 0 0 4 4 4 4 4 4 0
0 5 0 0 0 4 4 0 4 4
5 5 5 0 4 4 0 0 4 4
5 5 0 6 0 0 0 0 4 4
0 5 0 0 0 0 0 7 0 0
0 0 8 0 9 0 0 0 0 0
entao? alguйm aceita o desafio? Vamos ver quantos conseguem resolver! ( obs. resolvo amanha, sou de portugal e jб й quase 1h )
Reply
#2

Defina grupo de 'uns'. Linha, coluna, nгo entendi a lуgica do resultado.
Reply
#3

entao, ele vai linha a linha, o primeiro 1 que encontrar sera subestituido por 2, e se ouver outros 1 encostados a esse, tambem serгo 2, aн o codigo continua б procura e quando encontrar outro 1 serб 3, e todos os que estiverem encostados serao 3 tambem, proximo que encontrar serб 4 ... por aн vai. Demorei um pouco para entender tambem!
Reply
#4

Eu nгo intendi muito bem, mas vou arriscar(sim, ficou feio o code )
pawn Код:
new value = 2;
for(new i = 0; i < sizeof(var); i++)
{
    if(var[i] == 1)
    {
        if(var[i+1] == 1) {
            var[i] = value;
        }
        else
        {
            var[i] = value;
            value++;
        }
    }
}
Reply
#5

@Dolby

Vocк igualou uma matriz 100x1, enquanto a do Dartakous й 10x10.

Vou tentar fazer isto amanhг, vou ir dormir agora :P
Reply
#6

Quote:
Originally Posted by arakuta
Посмотреть сообщение
@Dolby

Vocк igualou uma matriz 100x1, enquanto a do Dartakous й 10x10.

Vou tentar fazer isto amanhг, vou ir dormir agora :P
Vocк se refere a matriz "gerada" ? caso sim veja que a mesma sу vai de 1 a 9, volta do 5 para o 4,entre outros erros, entгo nгo a levei em consideraзгo.

Estou bem convicto que nгo intendi o desafio...poderia explicar novamente?
Reply
#7

Pelo o que eu entendi й tipo assim, veja o exemplo que ele deu:

1 1 0 0 0 0 0 0 1 1

nesta linha tem dois grupos de 1 na mesma linha com outros nъmero separando-os (nesse caso os 0)

logo o primeiro grupo serб substituido por 2, e os outros que estiverem na mesma linha irб ser adicionado +1, nesse caso seria 3

ficando: 22 0 0 0 0 0 0 33

Mas como tem linhas que comeзa com 5: 5 5 5 0 4 4 0 0 4 4, quebrou todo meu raciocнnio.
Reply
#8


bom, vamos lб ver se nos entendemos com um desenho!
Aqui estao os grupos, separados por cor, o objetivo й comeзar a procurar o numero 1 da esquerda para a direita, de cima para baixo. E quando encontrar um numero 1 substituir todo o grupo por outro numero, entao
ao encotrar o primeiro 1, eu vou subestituir todo o grupo dele (vermelho no caso) por 2, continua a procura e vou encontrar novamente o 1, entao vou subestituir todo o grupo dele por 3 (grupo verde no caso), continua a procura, quando encotrar novamente o 1, vou subestituir todo o grupo dele por 4 (grupo azul no caso)

entenderam agora?
Reply
#9

mes desculpem pelo double, mas como o topico ficou bem para baixo, tinha de dar up!
bom, fica a resposta

http://pastebin.com/7gqZdPwQ

admira-me que mais ninguem tenha tentado tirando as pessoas que jб postaram acima
Reply
#10

Quote:
Originally Posted by DartakousLien
Посмотреть сообщение
admira-me que mais ninguem tenha tentado tirando as pessoas que jб postaram acima
Eu nem tinha visto, poxa, sу vi agora porque tu deu o up.

Vou ver se lanзo um desafio interessante, й semelhante a este seu...

Essa ideia que tu jogou me lembrou de alguma maneira campo minado, haha...
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)