24h購物| | PChome| 登入
2009-01-15 21:10:34| 人氣281| 回應0 | 上一篇 | 下一篇

2005 NPSC D. 似曾相識

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

根本就跟達文西那題一模一樣

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

  1. #include<stdio.h>        
    #include<stdlib.h>     
    #include<string.h>     
    main()     
    {     
     int a,b,c,d,e,n,temp=0,time=0;     
     char x[1000],y[1000];     
     while(scanf("%d ",&n)==1)          
      {  
      for(d=0;d<n;d++)  
       {  
       temp=0;time=0;  
       gets(x);         
       gets(y);     
       a=strlen(x);
       for(b=0;b<a;b++)     
       {     
        if(x[b]!=' ')     
        {time++;     
          for(c=0;c<a;c++)     
          {     
            if(y[c]==x[b])     
            {y[c]=-1;c=0;temp++;break;}/*刪除所儲存的數 防止重複*/    
          }     
        }     
       }     
        if(time==temp)     
         printf("possible\n");     
        else    
         printf("impossible\n");       
       }  
      }        
     return 0;          

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

陣列加快版

#include<stdio.h>        
#include<stdlib.h>     
#include<string.h>     
main()     
{     
 int a,b,c,d,e,n,temp=0,time=0;     
 char x[1000],y[1000];     
 while(scanf("%d ",&n)==1)          
  {  
    for(b=0;b<n;b++)
    {
    gets(x);
    gets(y);
    int num[256][2]={0},m=strlen(x);
    for(a=0;a<m;a++)
      {
       num[x[a]][0]++;
       num[y[a]][1]++;
      }
      for(a=0;a<256;a++)
       if(a!=' ')
        if(num[a][0]!=num[a][1]) break;
      if(a==256) printf("possible\n");
      else printf("impossible\n"); 
    }
  }        
 return 0;          
}

台長: 來源不明
人氣(281) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: NPSC |
此分類下一篇:2007 NPSC C. 不公平的人,是誰?
此分類上一篇:2005 NPSC B. 生死鬥

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