24h購物| | PChome| 登入
2009-01-11 15:25:23| 人氣695| 回應0 | 上一篇 | 下一篇

ACM 392 Polynomial Showdown

推薦 0 收藏 0 轉貼0 訂閱站台

採用暴力法,我用FOR去跑9個數去儲存,都TLE之後暴力9個變數

/***********************************************************/

  1. #include<stdio.h>         
  2. #include<stdlib.h>      
  3. #include<string.h>      
  4. main()      
  5. {      
  6.   int a,b,c,flag=0,x1,x2,x3,x4,x5,x6,x7,x8,x9;      
  7.   int x[10];      
  8.   while(scanf("%d %d %d %d %d %d %d %d %d",&x1,&x2,&x3,&x4,&x5,&x6,&x7,&x8,&x9)==9)      
  9.   {   
  10.   flag=0;   
  11.   x[0]=x1;x[1]=x2;x[2]=x3;x[3]=x4;x[4]=x5;x[5]=x6;x[6]=x7;x[7]=x8;x[8]=x9;   
  12.   for(a=0;a<7;a++)          /*跑x 2次項 以上的*/  
  13.    {   
  14.     if(x[a]!=0)   
  15.      {   
  16.       if(flag!=0)   
  17.        {   
  18.        if(x[a]<0)   
  19.         printf(" - ");   
  20.        else  
  21.         printf(" + ");   
  22.        if(x[a]>1||x[a]<-1)    
  23.         printf("%dx^%d",abs(x[a]),8-a);   
  24.        else  
  25.         printf("x^%d",8-a);     
  26.        }   
  27.       if(flag==0)   
  28.        {   
  29.        if(x[a]==1)   
  30.         printf("x^%d",8-a);   
  31.        else if(x[a]==-1)   
  32.         printf("-x^%d",8-a);   
  33.        else    
  34.        printf("%dx^%d",x[a],8-a);   
  35.        flag=1;             
  36.        }   
  37.      }   
  38.    }     
  39.    if(x[7]!=0)   
  40.     {   
  41.      if(x[7]<0&&flag==1)   
  42.         printf(" - ");   
  43.      if(x[7]>0&&flag==1)   
  44.         printf(" + ");   
  45.      if(flag==0&&x[7]<0)   
  46.         {printf("-");flag=1;}      
  47.      if(x[7]>1||x[7]<-1)    
  48.         printf("%dx",abs(x[7]));   
  49.      else  
  50.         printf("x",abs(x[7]));    
  51.     }   
  52.    if(x[8]!=0)   
  53.     {   
  54.      if(x[8]<0&&flag==1)   
  55.         printf(" - ");   
  56.      if(x[8]>=0&&flag==1)   
  57.         printf(" + ");   
  58.      if(flag==0&&x[8]<0)   
  59.         {printf("-");flag=1;}   
  60.       printf("%d",abs(x[8]));    
  61.     }   
  62.    if(x[8]==0&&x1==0&&x2==0&&x3==0&&x4==0&&x5==0&&x6==0&&x7==0&&x8==0&&x9==0)   
  63.     printf("0");    
  64.     printf("\n");       
  65.   }         
  66.  return 0;           
  67. } 

台長: 來源不明
人氣(695) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 661 Blowing Fuses
此分類上一篇:ACM 10013 Super long sums

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文