黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

POJ3087Shuffle'm Up(map)

系統(tǒng) 1954 0

http://poj.org/problem?id=3087

題意 : 我只能說,,英語不好是硬傷。。。這個題比較別扭啊,不知道真正題意是不是我所想的,我先把我A了的代碼按照的題意的意思說一下,就是說兩堆字符串每堆n個字符,從下邊開始輪流取,其實輸入之后就是從頭開始取,先取第二個字符串的,放在最底下,再取第一個的,直到合成一個新的,然后再把下邊n個取出來當(dāng)成第一個字符串,上邊n個當(dāng)成第二個字符串,繼續(xù)進行上述操作,直到新合成的字符串與題目中給出的目標(biāo)字符串相同,若是合不成就輸出-1,每次輸出先輸出是第幾組數(shù)據(jù),再輸出需要幾次可以達到目標(biāo)字符串

思路 : 模擬?還行吧,挺簡單的,用map函數(shù)標(biāo)記一下就行,若是新合成的與之前某個合成的一樣的,代表著這一組會陷入無限循環(huán)中,所以直接輸出-1就行了

        #include<cstdio>
        
          

#include
        
        <iostream>
        
          

#include
        
        <map>
        
          

#include
        
        <cstring>


        
          using
        
        
          namespace
        
        
           std ;


        
        
          const
        
        
          int
        
         maxn = 
        
          1010
        
        
           ;


        
        
          int
        
        
           main()

{

    
        
        
          int
        
        
           n ;

    cin
        
        >>
        
          n ;

    
        
        
          char
        
        
           ch[maxn],sh[maxn],sch[maxn],neww[maxn] ;

    
        
        
          for
        
        (
        
          int
        
         i = 
        
          1
        
         ; i <= n ; i++
        
          )

    {

        map
        
        <
        
          string
        
        ,
        
          int
        
        >
        
           p ;

        
        
        
          int
        
         m ,cnt = 
        
          0
        
         ,sum = 
        
          0
        
        
          ;

        cin
        
        >>
        
          m ;

        cin
        
        >>ch>>sh>>
        
          sch ;

        cout
        
        <<i<<
        
          '
        
        
          '
        
        
          ;

        
        
        
          while
        
        (
        
          1
        
        
          )

        {

            cnt 
        
        = 
        
          0
        
        
           ;

            
        
        
          for
        
        (
        
          int
        
         j = 
        
          0
        
         ; j < m ; j++
        
          )

            {

                neww[cnt
        
        ++] =
        
           sh[j] ;

                neww[cnt
        
        ++] =
        
           ch[j] ;

            }

            neww[
        
        
          2
        
        *m] = 
        
          '
        
        
          \0
        
        
          '
        
        
          ;

            sum
        
        ++
        
           ;

            
        
        
          if
        
        (strcmp(neww,sch) == 
        
          0
        
        
          )

            {

                cout
        
        <<sum<<
        
          endl;

                
        
        
          break
        
        
           ;

            }

            
        
        
          if
        
        
          (p[neww])

            {

                cout
        
        <<
        
          "
        
        
          -1
        
        
          "
        
        <<
        
          endl;

                
        
        
          break
        
        
           ;

            }

            p[neww]
        
        ++
        
           ;

            strncpy(ch,neww,m);

            ch[m]
        
        =
        
          '
        
        
          \0
        
        
          '
        
        
          ;

            strcpy(sh,neww
        
        +
        
          m);

        }

    }

}
        
      
View Code

?

POJ3087Shuffle'm Up(map)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論