博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Clear Symmetry CodeForces - 201A
阅读量:4943 次
发布时间:2019-06-11

本文共 1539 字,大约阅读时间需要 5 分钟。

Consider some square matrix A with side n consisting of zeros and ones. There are n rows numbered from 1 to n from top to bottom and n columns numbered from 1 to n from left to right in this matrix. We'll denote the element of the matrix which is located at the intersection of the i-row and the j-th column as Ai, j.

Let's call matrix A clear if no two cells containing ones have a common side.

Let's call matrix A symmetrical if it matches the matrices formed from it by a horizontal and/or a vertical reflection. Formally, for each pair (i, j) (1 ≤ i, j ≤ n) both of the following conditions must be met: Ai, j = An - i + 1, j and Ai, j = Ai, n - j + 1.

Let's define the sharpness of matrix A as the number of ones in it.

Given integer x, your task is to find the smallest positive integer n such that there exists a clear symmetrical matrix A with side n and sharpness x.

Input

The only line contains a single integer x (1 ≤ x ≤ 100) — the required sharpness of the matrix.

Output

Print a single number — the sought value of n.

Example

Input
4
Output
3
Input
9
Output
5

Note

The figure below shows the matrices that correspond to the samples

题解:①当n是偶数时,n-1所用到1的个数比n多。

   ②当n是奇数时,最多能用(n*n+1)/2个1。

   ③能用奇数构成所有的x。

①和③没证明出来,画图归纳的。。。。。

注意:x=1,n=1; x=2,n=3; x=3,n=5;

1 #include
2 using namespace std; 3 4 int x; 5 int a[]={
1,5,13,25,41,61,85,113}; 6 int b[]={
1,3,5,7,9,11,13,15}; 7 8 int main() 9 { cin>>x;10 int p=0;11 if(x==3){ cout<<"5"<

 

 

转载于:https://www.cnblogs.com/zgglj-com/p/7847049.html

你可能感兴趣的文章