题目描述
将物品按矩阵排列,并按从上到下,从左到右依次编号,通过投掷园环来决定奖励物品。假设每年物品的x和y坐标都是1到99,输入矩阵和园环,输入园环所套物品的编号。
输入描述
第一行输入矩阵的行和列数
第二行输入圆环的半径及园心坐标
输出描述
输出圆环所套物品的编号(不包括圆环边上)。
输入样例
10 10
2 3 4
输出样例
43 44 45 53 54 55 63 64 65
AC代码如下:
#include "iostream"
#include "cstdio"
#include "cstring"
#include "iostream"
#include "cstdio"
#include "algorithm"
#include "cstring"
#include "string"
#include "cmath"
using namespace std;
int a[110][110];
int main(int argc, char* argv[])
{
int row,col,j,k;
int num=1;
int x,y,r;
cin>>row>>col;
cin>>r>>x>>y;
for(j=1;j<=row;j++)//构造矩阵
{
for(k=1;k<=col;k++)
{
a[j][k]=num;
num++;
}
}
int xx=col-y;//将输入的坐标(x,y)转化为构造矩阵(即上述二维数组)的下标
int yy=x+1;
r=r-1;
for (j=xx-r;j<=xx+r;j++)//输出范围内的值
{
for(k=yy-r;k<=yy+r;k++)
{
cout<<a[j][k]<<" ";
}
}
return 0;
}