nyoj-172-小珂的图表

 1 #include<stdio.h>
 2 #include<string.h>
 3 #include<algorithm>
 4 #include<math.h>
 5 using namespace std;
 6 bool map[101][101];
 7 int main()
 8 {
 9     void black(int x,int y,int l);
10     void white(int x,int y,int l);
11     int test(int x,int y,int l);
12     int n;
13     scanf("%d",&n);
14     memset(map,0,sizeof(map));
15     while(n--)
16     {
17         char ch[10];
18         int x,y,l,i,j;
19         scanf("%s%d%d%d",ch,&x,&y,&l);
20         if(strcmp(ch,"BLACK")==0)
21             black(x,y,l);
22         else if(strcmp(ch,"WHITE")==0)
23             white(x,y,l);
24         else
25             printf("%d
",test(x,y,l));
26         /*for(i=1;i<7;i++)
27         {
28             for(j=1;j<7;j++)
29             printf("%d ",map[i][j]);
30             printf("
");
31         }*/
32 
33     }
34     return 0;
35 }
36 void black(int x,int y,int l)
37 {
38     int i,j;
39     for(i=x;i<x+l;i++)
40         for(j=y;j<y+l;j++)
41         {
42             if(i>0&&i<101&&j>0&&j<101&&map[i][j]==0)
43             map[i][j]=1;
44         }
45 }
46 void white(int x,int y,int l)
47 {
48     int i,j;
49     for(i=x;i<x+l;i++)
50         for(j=y;j<y+l;j++)
51         {
52             if(i>0&&i<101&&j>0&&j<101&&map[i][j]==1)
53             map[i][j]=0;
54         }
55 
56 }
57 int test(int x,int y,int l)
58 {
59     int i,j,sum=0;
60     for(i=x;i<x+l;i++)
61         for(j=y;j<y+l;j++)
62         {
63             if(i>0&&i<101&&j>0&&j<101&&map[i][j]==1)
64             sum++;
65         }
66     return sum;
67 }
原文地址:https://www.cnblogs.com/nylg-haozi/p/3192762.html