3089444_ac_0ms_160k.c

来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 44 行

C
44
字号
#include <stdio.h>

int main()
{
	int n, cas, c;
	char col[][10] = {"black","white"};
	double tw, th, w, h, l, r, a, b, x, y, s, t;

	cas = 1;
	while(scanf("%lf%lf%lf%lf",&tw,&th,&a,&b)==4)
	{
		if(tw==0&&th==0&&a==0&&b==0)
			break;
		printf("Case %d:\n",cas++);
		scanf("%d",&n);
		while(n--)
		{
			scanf("%lf%lf",&x,&y);
			l = r = 0.0;c = 0;
			w = tw;h = th;
			while(1)
			{
				s = (w-l)*a+l;
				t = (h-r)*b+r;
				if((x<s&&y>t)||(x>s&&y<t))
					break;
				c = !c;
				if(x<s&&y<t)
				{
					w = s;
					h = t;
				}
				else
				{
					l = s;
					r = t;
				}
			}
			puts(col[c]);
		}
	}
	return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?