uCoder | 1102 | Nível: 5 | Tempo Limite: 10
Espiral
Adaptado por Erich Rodrigues
Competição: SBC - ACM/ICPC - Maratona de Programação de 2015
Dado um tabuleiro de dimensões N × N , gostaríamos de colocar feijões, um grão em cada quadrado, seguindo uma espiral como mostrado na figura. Começando do canto superior esquerdo, com coordenadas (1, 1), e depois indo para a direita enquanto possível, depois para baixo enquanto possível, depois para esquerda enquanto possível e depois para cima enquanto possível. Repetimos esse padrão, direita-baixo-esquerda-cima, até que B grãos de feijão sejam colocados no tabuleiro. O problema é: dados N e B, em que coordenadas será colocado o último grão de feijão?
Na figura, para N = 8 e B = 53, o último grão foi colocado no quadrado de coordenadas (4, 6).
Entrada
A entrada contém apenas uma linha com dois inteiros, N e B, onde 1 ≤ N ≤ 2^30 and 1 ≤ B ≤ N^2.
Saída
Seu programa deve produzir uma única linha com dois inteiros L e C representando as coordenadas do último grão de feijão.
Exemplo de Entrada | Exemplo de Saída |
---|---|
1073741824 1152921504603393520 |
536871276 536869983 |
8 53 |
4 6 |