「CodePlus 2018 3 月赛」白金元首与克劳德斯
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
所有的云在此时没有重叠的面积
抄十次,以后再看错题抄二十次。
1 //#include<iostream> 2 #include<cstring> 3 #include<cstdlib> 4 #include<cstdio> 5 //#include<map> 6 #include<math.h> 7 //#include<time.h> 8 //#include<complex> 9 #include<algorithm> 10 using namespace std; 11 12 int T,n; 13 #define maxn 400011 14 struct Event 15 { 16 int pos,v; bool type; 17 bool operator < (const Event &b) const {return pos<b.pos || (pos==b.pos && v<b.v);} 18 }a[maxn];int la; 19 int main() 20 { 21 scanf("%d",&T); 22 while (T--) 23 { 24 scanf("%d",&n); la=0; 25 for (int i=1,x,y,w,h,d;i<=n;i++) 26 { 27 scanf("%d%d%d%d%d",&x,&y,&w,&h,&d); 28 la++; a[la]=(Event){x+y,1,d==1}; 29 la++; a[la]=(Event){x+y+w+h,-1,d==1}; 30 } 31 sort(a+1,a+1+la); 32 int nowa=0,nowb=0,ans=1; 33 for (int i=1;i<=la;i++) 34 { 35 if (a[i].type==1) nowa+=a[i].v; 36 else nowb+=a[i].v; 37 if (nowa && nowb) {ans=2; break;} 38 } 39 printf("%d\n",ans); 40 } 41 return 0; 42 }