24h購物| | PChome| 登入
2009-03-17 19:06:08| 人氣2,489| 回應0 | 上一篇 | 下一篇

ACM 514 Rails

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

http://www.tcgs.tc.edu.tw/~sagit/acm/view.php?id=514

原本想用一個陣列存堆疊的東西,結果寫到快瘋掉,發現Sagit寫的簡單扼要!!↑

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

#include<stdio.h>
#include<stdlib.h>
main()
{
 int n,m,a,b,c,d;
 while(scanf("%d",&n)==1&&n!=0)
   {
    while(1)
     {
      int stack[1001]={0},mark[1001],flag=1;
      scanf("%d",&mark[1]);
      if(mark[1]==0) break;
      for(a=1;a<=n;a++) stack[a]=a;
      for(a=2;a<=n;a++) scanf("%d",&mark[a]);
      
      for(a=1,b=0;a<=n&&flag!=0;a++)
       {
        c=mark[a];
          if(b<c)
           {
            b=c;
            stack[c]=0;
           }
          else
           {
            for(d=b-1;d>c;d--)
              if(stack[d]!=0)
               {
                flag=0;
                break;
               }
               stack[c]=0;
           }
       }
       if(flag==1)
        printf("Yes\n");
       else
        printf("No\n");
     }
     printf("\n");
   }
 return 0;
}

台長: 來源不明
人氣(2,489) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 數位資訊(科技、網路、通訊、家電) | 個人分類: ACM |
此分類下一篇:ACM 825 Q825: Walking on the Safe Side
此分類上一篇:ACM 725 Q725: Division

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