UVA 10167 Birthday Cake
切蛋糕,保证一刀切后,两边樱桃数相同, 切过去的方程Ax+By = 0 可能有很多条, 输出一条即可
很水啊。。直接暴力水过
#include <stdio.h>
#include <string.h>
int n;
int x[105], y[105];
int a, b;
int shang , xia;
int judge;
int main()
{
while (scanf("%d", &n) != EOF && n)
{
judge = 0;
for (int i = 0; i < 2 * n; i ++)
{
scanf("%d%d", &x[i], &y[i]);
}
for (a = -500; a <= 500; a++)
{
for (b = -500; b <= 500; b ++)
{
shang = 0; xia = 0;
for (int i = 0; i < 2 * n; i ++)
{
if (a * x[i] + b * y[i] > 0)
{
shang ++;
if (shang > n)
break;
}
if (a * x[i] + b * y[i] < 0)
{
xia ++;
if (xia > n)
break;
}
if (a * x[i] + b * y[i] == 0)
break;
}
if (shang == n && xia == n)
{
judge = 1;
break;
}
}
if (judge == 1)
break;
}
printf("%d %d\n", a, b);
}
return 0;
}