
Input
The input contains a single floating-point number x with exactly 6 decimal places (0 < x < 5).
Output
Output two integers separated by a single space. Each integer should be between 1 and 10, inclusive. If several solutions exist, output any of them. Solution will exist for all tests.
Examples
input
1.200000
output
3 2
input
2.572479
output
10 3
input
4.024922
output
9 9
Solution:
#include <iostream> #include <iomanip> #include <cstdio> #include <set> #include <vector> #include <map> #include <cmath> #include <algorithm> #include <memory.h> #include <string> #include <cstring> #include <sstream> #include <cstdlib> #include <ctime> #include <cassert> using namespace std; int main() { double x; scanf("%lf", &x); double diff = 12345; int da = -1, db = -1; for (int a = 1; a <= 10; a++) for (int b = 1; b <= 10; b++) { double u = (a * b) / sqrt(4 * a * a + b * b); u = fabs(u - x); if (u < diff) { diff = u; da = b; db = a; } } printf("%d %d\n", da, db); return 0; }
Related posts:
Intersection Point of Lines
Dijkstra on sparse graphs
Bear and Paradox
Floyd-Warshall - finding all shortest paths
Golden System
Checking a graph for acyclicity and finding a cycle in $O(M)$
Banana
Meaningless Operations
Quiz
Big Data
Paint it really, really dark gray
Count the Arrays
Little Artem and Time Machine
E-mail Addresses
Fox and Card Game
Wheels
Civilization
Om Nom and Spiders
Generating all $K$-combinations
Robots on a Grid
Tom Riddle's Diary
Break Up
Packmen
MP3
Traveling Around the Golden Ring of Berland
Rectangle Puzzle
Preparing for Merge Sort
Sieve of Eratosthenes
Vanya and Field
Ant colony
Salazar Slytherin's Locket
Mergesort Strikes Back