#includechars[1000005],tp[1000005];intl;intpd(){intzuo,you,num,i;num=0;zuo=0;you=" />

亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

hdu 4915 Parenthese sequence 多校第五場

系統 1934 0

推斷一個序列是否是有效是簡單的。

可是推斷序列是不是有多個解會出問題。

那么從i=0 ~l

假設讀到問號,推斷該問號成為(能否有效,該問號為)是否有效。

假設都有效,則必有多個解。

假設都無效,則無解。

假設一個有效,則把問號改成有效的括號。

代碼實現例如以下

      #include<stdio.h>
#include<string.h>
char s[1000005],tp[1000005];
int l;
int pd()
{
    int zuo,you,num,i;
    num=0;
    zuo=0;
    you=0;
    for(i=0;i<l;i++)
    {
       num++;
       if(num==1)
       {
        if(tp[i]=='?')
          tp[i]='(';

       }
                
                if(tp[i]=='(') zuo++;
                if(tp[i]==')') you++;
                if(you>num/2) 
                {
                    return 0;
                }
                if(num%2==0)
                {
                    if(you==num/2) 
                    {
                        zuo=0;
                        you=0;
                        num=0;
                    }
                }
        
    }
    if(zuo>num/2) return 0;
    num=0; 
    zuo=0;
    you=0;
            for(i=l-1;i>=0;i--)
            {
                num++;
                if(num==1)
                {
                    if(tp[i]=='?')
                    tp[i]=')';
                }
                if(tp[i]=='(') zuo++;
                if(tp[i]==')') you++;
                if(zuo>num/2) 
                {
                    return 0;
                }
                if(num%2==0)
                {
                    if(zuo==num/2) 
                    {
                        zuo=0;
                        you=0;
                        num=0;
                    }
                }
                
            }
            if(you>num/2) return 0;
            return 1;
    
}
int main()
{
   int zuo,you,x,y,i;
   while(scanf("%s",s)!=EOF)
   {
       l=strlen(s);
       if(l%2==1)
       {
           printf("None\n");
           continue;
    }
    
    else
    {
     strcpy(tp,s);
  x=pd();
  if(x==0)
  {
   printf("None\n");
   continue;
  }
        for(i=0;i<l;i++)
        {
          if(s[i]=='?')
          {
              strcpy(tp,s);
              tp[i]=')';
              x=pd();
              strcpy(tp,s);
              tp[i]='(';
              y=pd();
              if(x+y==2) 
              {printf("Many\n");
              break;
              }
              if(x+y==0)
              {
                  printf("None\n");
                  break;
              }
              if(x==1)
              s[i]=')';
              else 
              s[i]='(';             
            }    
            
        } 
        if(i==l)
            {
                printf("Unique\n");
                
            }
    } 
   }
   return 0;    
}

 

    


?

hdu 4915 Parenthese sequence 多校第五場


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产成人精品第一区二区 | 国产做爰免费视频观看 | 国产伦久视频免费观看 视频 | 不卡精品国产_亚洲人成在线 | 一区二区三区在线播放视频 | 四虎最新免费观看网址 | 亚洲成在人线影视天堂网 | 伊人色在线 | 国产精品呦呦 | 日韩一区二区三区在线观看 | 伊人色综合琪琪久久社区 | 深夜福利免费观看 | 精品久久洲久久久久护士免费 | 色激情综合 | 日日干天天 | 国产高清一区二区三区视频 | 日日摸夜夜添夜夜添毛片 | 欧美激情第一区 | 精品久久久久久午夜 | 成年黄网站免费大全毛片 | 天天久久综合 | 久久精品中文字幕一区 | 欧美性色xo影院69 | 日日夜夜操天天干 | 日本免费人做人一区在线观看 | 亚洲国产综合专区在线播一一 | 人人爱操 | 久久国产精品99精品国产 | 久久亚洲国产精品 | 久久亚洲国产成人精品性色 | 第一福利视频 | 亚洲国产精品激情在线观看 | 亚洲视频污 | 午夜国产精品久久久久 | 久久这里只精品热免费99 | 成年女人免费观看视频 | 草草影院第一页yycccom | 四虎免费网址 | 一区二区不卡久久精品 | 兽皇在线观看 | 极品女神西比尔久久精品 |