⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1200.cpp

📁 这是哈尔滨工业大学acmOJ的源代码
💻 CPP
字号:
/*  This Code is Submitted by wywcgs for Problem 1200 on 2006-03-03 at 16:36:30 */ 
#include <cstdio>

const int CENTER_X = 1024;
const int CENTER_Y = 1024;

int round, px, py;

void draw(int, int, int);

int main()
{
	int k;
	
	while(scanf("%d %d %d", &k, &px, &py) != EOF && k != 0) {
		round = 0;
		draw(k, CENTER_X, CENTER_Y);
		printf("%3d\n", round);
	}
	
	return 0;
}

void draw(int k, int cx, int cy)
{
	int area = 0;
	int dia[][2] = { { cx-k, cy-k }, { cx+k, cy-k }, { cx-k, cy+k }, { cx+k, cy+k } };
	if(px >= dia[0][0] && px <= dia[1][0] && py >= dia[0][1] && py <= dia[2][1]) round++;
	if(k == 1 || cx == px || cy == py) return;
	if(px > cx) area |= 1;
	if(py > cy) area |= 2;
	draw(k/2, dia[area][0], dia[area][1]);
}

⌨️ 快捷键说明

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