CodeForces 201A Clear Symmetry :寻找最小的n使n*n矩阵里面可以对称且不相邻的放下至少x个1 :数学/思维/找规律
首先n为偶数必然没有n为奇数优==
而n为奇数最多能放(n^n+1)/2个1
特别注意特判x=3的时候需要5个,因为3个那样放就相邻了==
1 #include<stdio.h> 2 #include<string.h> 3 #include<algorithm> 4 using namespace std; 5 int main() 6 { 7 int n,i,tmp; 8 scanf("%d",&n); 9 if (n==3) {printf("5\n"); return 0; } 10 for (i=1;;i+=2) 11 { 12 tmp=(i*i+1)/2; 13 if (n<=tmp) {printf("%d\n",i); return 0; } 14 } 15 }