| ||||||||||
| 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 | |||||||||
你这个复杂度是多少的?In Reply To:搞不懂我为什么超时 Posted by:MaMaSaid at 2005-07-23 12:59:58 > #include <stdio.h>
>
> typedef struct Point
> {
> double x,y;
> }Point,*pPoint;
>
> struct Point P[1000000];
>
>
> struct Point GetM(struct Point *p1,
> struct Point *p2,
> struct Point *p3)
> {
> struct Point D;
> D.x = (p1->x+p2->x+p3->x)/3;
> D.y = (p1->y+p2->y+p3->y)/3;
> return D;
> }
>
>
> int main()
> {
> int TestCase;
> int n;
> int i,j;
> struct Point BP;
> // FILE *fp;
> // fp = fopen("Fin.txt","r");
>
> scanf("%d",&TestCase);
> while(TestCase)
> {
> scanf("%d",&n);
> for(i=0;i<n;++i)
> scanf("%lf%lf",&P[i].x,&P[i].y);
> if(n%2 == 1)
> {
> j = 0;
> while(j < n-4)
> {
> BP = P[0];
> for(i=1;i<=n-j-2;i++)
> P[i-1] = GetM(&BP,&P[i],&P[i+1]);
> j++;
> }
> BP = GetM(&P[0],&P[1],&P[2]);
> printf("%.2f %.2f\n",BP.x,BP.y);
> }
> else
> {
> j = 0;
> while(j < n-3)
> {
> BP = P[0];
> for(i=1;i<=n-j-2;i++)
> P[i-1] = GetM(&BP,&P[i],&P[i+1]);
> j++;
> }
>
> printf("%.2f %.2f\n",(P[0].x+P[1].x)/2,(P[0].y+P[1].y)/2);
> }
> TestCase--;
> }
>
> // fclose(fp);
> return 0;
> }
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator