mtsuyugu #5695(2008/02/06 15:54 GMT) [ C ] Rating0/0=0.00
標準入出力を使っています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
#include <stdlib.h> #include <stdio.h> int cmp( const void *a, const void *b ){ int *pa = (int *)a; int *pb = (int *)b; int r = (*pa<*pb)? -1 : (*pa>*pb)? 1 : (*(pa+1)<*(pb+1)) ? -1 : (*(pa+1)>*(pb+1)) ? 1 : 0; return r; } int i,j,n,s,S,*p,dx,dy,q[4]; int main( void ){ scanf("%d",&n); p = (int *)malloc(sizeof(int)*n*2); if(!p) return EXIT_FAILURE; for(i=0;~scanf("%d%d",p+i,p+i+1);i+=2); qsort(p,n,sizeof(int)*2,cmp); for(i=0;i<2*n;i+=2){ for(j=i+2;j<2*n;j+=2){ dx = p[j] - p[i]; dy = p[j+1] - p[i+1]; q[0] = p[i] - dy; // rotate 90 q[1] = p[i+1] + dx; q[2] = q[0] + dx; // opposite vertex q[3] = q[1] + dy; if( bsearch(q,p,n,sizeof(int)*2,cmp) && bsearch(q+2,p,n,sizeof(int)*2,cmp) ){ s = dx*dx+dy*dy; S = s>S?s:S; } } } free(p); return printf("%d\n",S); }
Rating0/0=0.00-0+
[ reply ]
mtsuyugu
#5695()
[
C
]
Rating0/0=0.00
標準入出力を使っています。
Rating0/0=0.00-0+
[ reply ]