銆怳OJ 888銆戝洓杞溅
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了銆怳OJ 888銆戝洓杞溅相关的知识,希望对你有一定的参考价值。
鏍囩锛?a href='http://www.mamicode.com/so/1/col' title='col'>col
typedef ring style else type algo 瑕佹眰 鏂规鍥涜疆杞?car
##銆愰鐩弿杩般€戯細
鍦ㄥ湴鍥句笂鏁h惤鐫€ n 涓溅杞紝灏?J 鎯崇敤瀹冧滑閫犱竴杈嗚溅銆傝姹傚涓嬶細
1. 涓€杈嗚溅闇€瑕佸洓涓溅杞紝涓斿洓涓溅杞瀯鎴愪竴涓鏂瑰舰
2. 杞﹁疆涓嶈兘绉诲姩
浣犻渶瑕佽绠楁湁澶氬皯绉嶉€犺溅鐨勬柟妗堬紙涓や釜鏂规涓嶅悓褰撲笖浠呭綋鎵€鐢ㄨ溅杞笉鍏ㄧ浉鍚岋紝鍧愭爣鐩稿悓鐨勪袱涓溅杞涓轰笉鍚岃溅杞級銆?/p>
##銆愯緭鍏ユ弿杩般€戯細
绗竴琛屼竴涓暣鏁?n
鎺ヤ笅鏉 琛岋紝姣忚涓や釜鏁存暟 x y锛岃〃绀哄湪(x,y)澶勬湁涓€涓溅杞?/p>
##銆愯緭鍑烘弿杩般€戯細
涓€琛屼竴涓暣鏁帮紝琛ㄧず鏂规鏁?/p>
##銆愭牱渚嬭緭鍏ャ€戯細
9
0 0
1 0
2 0
0 2
1 2
2 2
0 1
1 1
2 1
##銆愭牱渚嬭緭鍑恒€戯細
5
##銆愭椂闂撮檺鍒躲€佹暟鎹寖鍥村強鎻忚堪銆戯細
鏃堕棿锛?s 绌洪棿锛?28M
30%鐨勬暟鎹繚璇?n<=30
100%鐨勬暟鎹繚璇?1 <= n <= 1000; |x|, |y| < 20000
棰樿В锛氭毚鍔?浜屽垎鈭?/p>
#include<cstdio> #include<iostream> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> #include<bits/stdc++.h> typedef long long ll; using namespace std; int n,m,cnt; struct node{ int x,y,z; }b[1002]; node a[1002]; bool cmp(node p,node q){ if(p.x==q.x) return p.y<q.y; return p.x<q.x; } int find(int xx,int yy,int l1,int r1){ int l=l1,r=r1; while(l<=r){ int m=(l+r)/2; if(b[m].x<xx || (b[m].x==xx && b[m].y<yy)) l=m+1; if(b[m].x>xx || (b[m].x==xx && b[m].y>yy)) r=m-1; if(b[m].x==xx && b[m].y==yy) return 1; } return 0; } ll overcome_jjj(int p,int q){ int a1=b[p].x; int b1=b[p].y; int a2=b[q].x; int b2=b[q].y; if((a2-a1)!=(b2-b1)) return 0; int f1x=a2; int f1y=b1; int f2x=a1; int f2y=b2; if(find(f1x,f1y,p,q) && find(f2x,f2y,p,q)) { //printf("%d %d %d %d ",a1,b1,a2,b2); //printf("%d %d %d %d ",f1x,f1y,f2x,f2y); //printf("%d ",b[p].z*b[q].z);printf(" "); return (ll)b[p].z*(ll)b[q].z; } return 0; } int main(){ freopen("car.in","r",stdin); freopen("car.out","w",stdout); scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d %d",&a[i].x,&a[i].y); sort(a+1,a+n+1,cmp); b[1].x=a[1].x; b[1].z=1; b[1].y=a[1].y; cnt=1; for(int i=2;i<=n;i++){ if(a[i].x==a[i-1].x && a[i].y==a[i-1].y) b[cnt].z++; else { b[++cnt].x=a[i].x; b[cnt].y=a[i].y; b[cnt].z=1; } } ll ans=0; for(int i=1;i<=cnt;i++) for(int j=i+1;j<=cnt;j++) ans+=overcome_jjj(i,j); printf("%lld",ans); return 0; }
以上是关于銆怳OJ 888銆戝洓杞溅的主要内容,如果未能解决你的问题,请参考以下文章
UOJ#209. 銆怳ER #6銆戠エ鏁扮粺璁?缁勫悎+瀹规枼