二维数组,wa了好久,水题。
题目链接 http://acm.nyist.net/JudgeOnline/problem.php?pid=172
直接贴代码
#include<stdio.h>
int main()
{
char str[5];
int a[101][101];
int s,i,j,l,x,y,x1,y1;
for(i=1;i<=100;i++)
{
for(j=1;j<=100;j++)
{
a[i][j]=0;
}
}
scanf("%d",&s);
while(s--)
{
scanf("%s",str);
scanf("%d %d %d",&x,&y,&l);
x1=x+l-1;
y1=y+l-1;
if(x>=101||x1<=0||y>=101||y1<=0) {break;}
if(x<=0) {x=1;}
if(x1>=101) {x1=100;}
if(y<=0) {y=1;}
if(y1>=101){y1=100;}
if(str[0]=='B')
{
for(i=x;i<=x1;i++)
{
for(j=y;j<=y1;j++)
{
a[i][j]=1;
}
}
}
if(str[0]=='W')
{
for(i=x;i<=x1;i++)
{
for(j=y;j<=y1;j++)
{
a[i][j]=0;
}
}
}
if(str[0]=='T')
{
int sum=0;
for(i=x;i<=x1;i++)
{
for(j=y;j<=y1;j++)
{
if(a[i][j]==1)
sum++;
}
}
printf("%d\n",sum);
}
}
return 0;
}