Coding Dojo #11: Espiral

E terminamos mais um dojo, tivemos nesse mais um Lightning Talk, com a Luciana Mendes e o Carlos Eduardo, que falaram sobre a filosofia do Python e sobre sites que o utilizam. Desta vez foi escolhido um Kata de maior dificuldade, que apesar de fácil entendimento foi difícil implementação. Também foi filmado a apresentação do Lightning Talk (infelizmente o som do vídeo ficou baixo):

Parte 1 – Luciana falando sobre a Filosofia do Python

Parte 2 – Carlos falando sobre empresas que utilizam Python

Problema: Espiral

O jogo de Espiral é jogado em uma grade quadrada. Pedaços são colocados na grade e os movimentos são realizados de acordo com a posição dos pedaços na grade. Contudo, o sistema de coordenadas do jogo de Espiral é um pouco diferente dos sistemas de outros jogos de tabuleiro tradicionais, tais como xadrez.

O esquema de numeração de células segue uma espiral, começando a partir do centro da grade em sentido anti-horário. A figura a seguir ilustra o esquema de numeração das células.

O objetivo é, dadas as coordenadas de um célula do jogo Espiral, encontre suas coordenadas cartesianas (a linha 1 é a mais abaixo e a coluna 1 é a mais a esquerda).

Entrada

A entrada é uma série de linhas. Cada linha é composta por dois números: SZ e P. SZ é o tamanho da borda da grade e é um número ímpar não maior do que 1000000. P é a posição espiral da célula nessa grade. A linha onde SZ = P = 0 marca o fim da entrada (e não é parte do conjunto de dados de entrada).

Output

Para cada linha no conjunto de dados da entrada, seu programa deve imprimir uma linha "Line = X, column = Y.", onde X e Y são as coordenadas cartesianas da célula correspondente.

Exemplo de Entrada

3 1
3 3
3 9
5 9
5 10
0 0

Sample Output

Line = 2, column = 2.
Line = 3, column = 1.
Line = 3, column = 3.
Line = 4, column = 4.
Line = 5, column = 4.

Retrospectiva:

Bom:

  • Lighting Talk
  • DR
  • Retorno Externo Positivo

Ruim:

  • Perdendo muito tempo discutindo a lógica
  • Pensar no “Como fazer” e não no “O que fazer”
  • Desafio Complexo
  • Influência na escolha
  • Não foi seguido o Yagmi
  • Achar solução individualmente
  • Excesso de planejamento
  • Alguns não sabiam o que fazer

Para próximos:

Dados do encontro:

Organizadores: Carlos Eduardo e Luciana Mendes

Participantes: Carlos Eduardo, Luciana Mendes, Marco Moura, Natália Marcondes, Patricia Carvalho, Rafael Salomão

Kata: Espiral (http://br.spoj.pl/problems/ESPIRAL/)

Código fonte : http://gist.github.com/636755

Fotos: