// // main.cpp // 1083_simpleAnswer // // Created by 韩雪滢 on 10/19/16. // Copyright ? 2016 韩雪滢. All rights reserved. // #include <stdio.h> #include <string.h> #include <algorithm> #include <iostream> using namespace std; int n,a[405]; int main() { int T; scanf("%d",&T); while(T--) { memset(a,0,sizeof(a)); scanf("%d",&n); for(int i=0;i<n;i++) { int x,y; scanf("%d%d",&x,&y); if(x>y)swap(x,y); if(x%2==0)x--;//------------ 起始只能是奇数 if(y%2==1)y++;//------------- 终止只能是偶数 //因为北面是奇数,南面是偶数,同一列,北面的<南面的,北面的(b)被占,相对应的南面(b++)也会被占,南面被占同理,且只影响到一段走廊的开始和结束 for(int i=x;i<=y;i++) a[i]++; } int maxx=-1; for(int i=1;i<=400;i++) { maxx=max(maxx,a[i]); } printf("%d\n",maxx*10); } return 0; }
原文:http://www.cnblogs.com/HackHer/p/5978855.html