24h購物| | PChome| 登入
2009-05-06 21:58:16| 人氣726| 回應0 | 上一篇 | 下一篇

ACM 11032 11032 - Function Overloading

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

作法:建表
想法:1.一個建各位數字+自己會有的值
    2.另一個建個數(累加) 之後就可以用扣的

此題記憶體開放比較大 安心的開1000萬的int

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

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int map[10000062][2]={0};
main()
{
 int x1,x2,x3,x4,x5,x6,x7,x8;
 for(x1=0;x1<10;x1++)
   for(x2=0;x2<10;x2++)
     for(x3=0;x3<10;x3++)
       for(x4=0;x4<10;x4++)
        for(x5=0;x5<10;x5++)
          for(x6=0;x6<10;x6++)
            for(x7=0;x7<10;x7++)
              {
               if(map[x7*2+x6*11+x5*101+x4*1001+x3*10001+x2*100001+x1*1000001][0]==0)
                 map[x7*2+x6*11+x5*101+x4*1001+x3*10001+x2*100001+x1*1000001][0]=x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000;
               if(map[x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000][0]==0&&x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000!=0)
                map[x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000][1]=1+map[x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000-1][1];
               else
                map[x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000][1]=map[x7+x6*10+x5*100+x4*1000+x3*10000+x2*100000+x1*1000000-1][1];
              }
  map[10000000][1]=map[9999999][1];
  int n;
  char x[100],time=0;
  while(scanf("%d",&n)==1)
    {
     getchar();
      while(n--)
      {
      gets(x);
      time++;
      int a,b,c,m=strlen(x),num1=0,num2=0;
      for(a=0;a<m;a++)
       if(x[a]<=57&&x[a]>=48)
        num1=num1*10+x[a]-48;
       else
        for(a=a+1;a<m;a++)
         if(x[a]<=57&&x[a]>=48)
          num2=num2*10+x[a]-48;
       if(num2==0) printf("Case %d: %d\n",time,(map[num1][0]==0)?-1:map[num1][0]);
       else
         {
           int ans=map[num2][1]-map[num1][1]+1;
       /*    printf("%d %d %d %d\n",map[num2][1],map[num1][1],num2,num1);*/
           if(map[num1][1]==map[num1-1][1]) ans--;
           printf("Case %d: %d\n",time,ans);  
         }
      }
    }
  return 0;
}

台長: 來源不明
人氣(726) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 291 The House Of Santa Claus
此分類上一篇:ACM 574 Sum It Up

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