📄 pku2383.cpp
字号:
#include <stdio.h>
#include <memory.h>
#include <math.h>
#define size 1100
char v[size][size];
int Xs, Ys;
int Min(int x, int y)
{
return x > y ? y : x;
}
int Max(int x, int y)
{
return x > y ? x : y;
}
void Solve()
{
int N;
int xi, yi, ri, ci;
int s, e, d;
int i, j;
scanf("%d", &N);
memset(v, 0, sizeof(v));
for (i = 0; i < Ys; i++)
memset(v[i], '0', Xs);
while (N--)
{
scanf("%d %d %d %d", &xi, &yi, &ri, &ci);
for (i = Max(yi - ri, 0); i <= yi + ri && i < Xs; i++)
{
d = (int)(1e-6 + sqrt(ri * ri - (i - yi) * (i - yi)));
s = Max(0, xi - d);
e = Min(Xs - 1, xi + d);
memset(v[i] + s, ci + '0', e - s + 1);
}
}
for (i = 0; i < Ys; i++)
puts(v[i]);
}
int main()
{
while (EOF != scanf("%d %d", &Xs, &Ys))
Solve();
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -