1 solutions
-
0
用哈希表标记涂过的矩形,c++中的map
#include<iostream> #include<vector> #include<map> #include<algorithm> using namespace std; int main(){ int n; cin >> n; int max_y = 0; int max_x = 0; map<pair<int,int>,int> mp; int cnt = 0; for(int i = 0;i < n;i++) { int x1,x2,y1,y2; cin >> x1 >> y1 >> x2 >> y2; max_x = max(max_x,x2); max_x = max(max_x,x1); max_y = max(max_y,y1); max_y = max(max_y,y2); for(int x = x1;x < x2;x++) { for(int j = y1; j < y2;j++) { mp[{x,j}] = 1; } } } for(auto [x,y]:mp) { if(y == 1) cnt++; } cout << cnt << endl; return 0; }
- 1
Information
- ID
- 69
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 2
- Tags
- # Submissions
- 45
- Accepted
- 30
- Uploaded By