📄 1200.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 + -