返回首页

此代码正在执行的26秒。请优化,但它必须采取150000输入。


#include <stdlib.h>

#include<stdio.h>

#include<time.h>



int q1, q2, q3, q4;

 void quadrant(long temp1,long temp2)

 {

 

        if(temp1&gt;=0&&temp2&gt;=0)

       q1++;

     else if(temp1&gt;=0&&temp2&lt;=0)

       q4++;

     else if(temp1&lt;0&&temp2&lt;0)

       q3++;

     else if(temp1&lt;=0&&temp2&gt;=0)

        q2++;

 

  }

 

 int main()

 {

time_t start,end;

  volatile long unsigned t;

 

  start = time(NULL);

  

  

 

int a[100000][2],c,d,n,i,j,will,b[102420][4],k=0;

 char p;

 //printf("enter the number of co ordinate");

 scanf("%d",&n);

 for(i=0;i&lt;n;i++)&gt;

 for(j=0;j&lt;2;j++)

 scanf("%d",&a[i][j]);

 //printf("enter no of operations");

scanf("%d",&will);

while(will&gt;0)

{

p=getchar();

scanf("%c",&p);

switch(p)

{

case 'X':               scanf("%d %d",&c,&d);

                 for(i=c-1;i&lt;d;i++)&gt;

                 a[i][1]=-(a[i][1]);break;

case 'Y':

               scanf("%d %d",&c,&d);

               for(i=c-1;i&lt;d;i++)&gt;

               a[i][0]=-(a[i][0]);break;

case 'C':       scanf("%d %d",&c,&d);

               for(i=c-1;i&lt;=d-1;i++)

               {

                int temp1,temp2;

                temp1=a[i][0];

                temp2=a[i][1];

 

                quadrant(temp1,temp2);

               }

              b[k][0]=q1;

              b[k][1]=q2 ;

              b[k][2]=q3;

              b[k][3]=q4;

                 k=k+1;

   q1=0;

   q2=0;

   q3=0;

   q4=0;

   break;

case 'p':   printf(" the co-ordinates are:\n");

              for(i=0;i&lt;n;i++)&gt;

              {

                for(j=0;j&lt;2;j++)

               {

             printf("%d   ",a[i][j]);

                }

               printf("\n");

                }

                break;

default: printf("enter the correct choice\n");break;

}

if(will==1)

for(i=0;i&lt;k;i++)&gt;

{

printf("%d %d %d %d\n",b[i][0],b[i][1],b[i][2],b[i][3]);

 

}

will--;

}

 end = time(NULL);

  

  printf("Loop used %f seconds.\n", difftime(end, start));

 

}

回答

评论会员: 时间:2
O