どうしてもよく分からなかったので、id:JAPLJさんのソースを見た。
予想以上に短くてびっくりした。
うーん座標圧縮いらないとは・・・
勉強になりました〜。
#include<cstdio> #include<map> #include<algorithm> #define rep(i,n) for(int i = 0; i < n; i++) #define pb push_back using namespace std; typedef pair<int,int> P; int main(){ int n, a, b, p, q, r, s, x = 0, y; map<P,int> m; scanf("%d%d%d",&n,&a,&b); rep(i,n){ scanf("%d%d%d%d",&p, &q, &r, &s); for(int j = p; j <= r; j++){ for(int k = q; k <= s; k++){ m[P(j,k)] ++; } } } for(map<P,int>::iterator it = m.begin(); it != m.end(); it++){ if((*it).second > x){ x = (*it).second; y = 0;} if((*it).second == x) y++; } printf("%d\n%d\n", x, y); return 0; }