2 条题解
-
0
#include<bits/stdc++.h> using namespace std; int main() { int map[102][102]={0},n,sum=0,x1,y1,x2,y2; cin>>n; for(int i=1;i<=n;i++){ cin>>x1>>y1>>x2>>y2; for(int j=x1+1;j<=x2;j++) for(int k=y1+1;k<=y2;k++){ map[j][k]=1;//涂色 } } for(int i=1;i<=101;i++) for(int j=1;j<=101;j++) if(map[i][j]) sum++;//计数 cout<<sum; return 0; }
-
0
#include<bits/stdc++.h> using namespace std; int main() { int n,i,f,g,m,a[101][101]; cin>>n; int x[n][4];//x1,y1,x2,y2 for(f=0;f<101;f++) { for(g=0;g<101;g++) { a[f][g]=0;//初始化地图 } } for(i=0;i<n;i++) { cin>>x[i][0]>>x[i][1]>>x[i][2]>>x[i][3];//输入 if(x[i][0]>x[i][2]) { m=x[i][0]; x[i][0]=x[i][2]; x[i][2]=m; } if(x[i][1]>x[i][3]) { m=x[i][1]; x[i][1]=x[i][3]; x[i][3]=m; }//对坐标进行重新排序 for(f=x[i][0]+1;f<=x[i][2];f++) {//f=x[i][0]+1是重新矫正坐标(把交叉点坐标改成格子的坐标) for(g=x[i][1]+1;g<=x[i][3];g++) { a[f][g]=1; } }//将所有指定区域涂色 } m=0; for(f=0;f<101;f++) { for(g=0;g<101;g++) { if(a[f][g]==1) m++; } }//把所有已涂色区域计数 cout<<m; return 0; }
- 1
信息
- ID
- 188
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 6
- 标签
- 递交数
- 41
- 已通过
- 13
- 上传者