import java.util.Scanner; /** * Solución al problema: 10003 - Burrito Amarrado [http://acm.cs.buap.mx] */ /** * @author BreakDark (Jhonny Monrroy) * @version 2.0 b 18 feb. 2017 */ // ACEPTADO!!! xD public class Main { public static void main(String[] args) { Scanner Lee; // para los datos de entrada int r, n; /// radio y numero de intentos // AQUI INICIA EL PROGRAMA Lee = new Scanner(System.in); do { r = Lee.nextInt(); n = Lee.nextInt(); if (r != 0 && n != 0) System.out.println(obtenerSolucion(r, n)); } while (Lee.hasNext() && r != 0 && n != 0); Lee.close(); } /** * Metodo que obtiene la solucion del problema * * @param r * Radio del corral * @param n * Numero de intentos * @return Un String que representa la distancia del burrito al poste */ public static String obtenerSolucion(int r, int n) { double x = 0, y = 0; // coordenadas del burrito byte dir = 0; // 0=norte, 1=este, 2=sur, 3=oeste while (n-- > 0) { switch (dir) { case 0: // norte y = (y + Math.sqrt(r * r - x * x)) / 2; break; case 1: // este x = (x + Math.sqrt(r * r - y * y)) / 2; break; case 2: // sur y = (y - Math.sqrt(r * r - x * x)) / 2; break; default: // oeste x = (x - Math.sqrt(r * r - y * y)) / 2; dir = -1; // para volver a empezar desde el principio break; } dir++; } // mostramos el resultado return String.format("%.2f", Math.sqrt(x * x + y * y)).replace(',', '.'); } }
Blog dedicado a la publicación de artículos, programas propios, traducciones de Roms de Nes, super Nes y mas, y alguno que otro artículo sobre tecnologia.
Saturday, February 25, 2017
Solución al problema: 10003 - Burrito Amarrado [http://acm.cs.buap.mx] con Java
Para ver el link del problema Click aqui
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment