Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
>为什么WA??????谁有测试数据????#include <stdio.h> #include <string.h> struct node { int y; node *next; }head[40010]; struct Zb { int x; int y; }ls[1010]; int num; bool hs_sch(int x,int y) { if(x < 0) x = -x + 20000; node *p = head[x].next; while(p) { if(p->y == y) return true; p = p->next; } return false; } int main() { int n,x,y,cnt,sx; while(scanf("%d",&n),n) { num = 0; cnt = 0; memset(head,0,sizeof(head)); for(int i = 0;i < n;i++) { scanf("%d%d",&x,&y); if(n < 4) continue; if(x < 0) { sx = -x + 20000; } else sx = x; node *p = &head[sx]; while(p->next) { if(p->next->y == y) break; p = p->next; } if(!p->next) { ls[num].x = x; ls[num].y = y; num++; node *r = new node; r->y = y; r->next = NULL; p->next = r; } } for(int i = 0;i < num - 1;i++) { for(int j = i + 1;j < num;j++) { int x3 = ls[i].x + ls[j].y - ls[i].y; int y3 = ls[i].y + ls[i].x - ls[j].x; int x4 = ls[j].x + ls[j].y - ls[i].y; int y4 = ls[j].y + ls[i].x - ls[j].x; if(hs_sch(x3,y3) && hs_sch(x4,y4)) { cnt++; } } } printf("%d\n",cnt / 2); } return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator