サマースクールキャンプ(七)文字列(列挙)オフ以上2019頭の牛

トピックへのリンク:https://ac.nowcoder.com/acm/contest/887#question

タイトル効果:それは非常に小さな文字列に分割することができるように、「01」の文字列のグループに、各文字列が満たさとである「完全」。ストリングのそれよりも回転の文字列(正面を戻すために、iビットの任意の文字列であることが)小さくする場合、それは「完全」です。

レポートの問題解決:最大200直接列挙の文字列の長さは、暴力をシミュレートすることができます。

ACコード:

1の#include <ビット/ STDC ++。H>
 2  の#define numm CH-48
 3  の#defineのPdのputchar( ' ')
 4  の#defineのPNのputchar('の\ n')
 5  の#define PB一back
 6  の#define Fiの第
 7  の#define SE第
 8  の#define FRE1 freopenは( "1.TXT"、 "R"、STDIN)
 9  の#define fre2 freopenは( "3.txt"、 "W"、STDOUT)
 10  の#defineデバッグ(引数...)COUT < <#args << " - >" <<引数<< "\ nを";
11  使って 名前空間はstdを、
12テンプレート<
 RES){
 14      ブールフラグ= char型のCH;
15      一方(isdigit(CH = GETCHAR())!)(CH == ' - ')&&(フラグ= )。
16      のために(RES = numm; isdigit(CH = GETCHAR()); RESの=(RES << 1)+(RES << 3)+ numm)。
17      フラグ&&(RESの= - RES)。
18  }
 19テンプレート<型名T>
 20  ボイドライト(T X){
 21      であれば(X < 0)のputchar(' - ')、X = - X。
22     もし(X> 9)書き込み(X / 10 )。
23      のputchar(Xの%10 + ' 0 ' )。
24  }
 25のtypedef 長い LL。
26 typedefの符号なしの長い 長いULL。
27  のconst  int型 MAXN = 1010 ;
28  のconst  int型 MAXM = 505 ;
29  のconst  int型 MOD = 1E9 + 7 30  CONST  INT INV2 = 500000004 31  のconst  int型 N = 32 32ベクター< ストリング > ANS。
33  ブールチェック(文字列S){
 34      一時=のS。
35      のためにint型 I = 0 ; iが(s.sizeを<)私は++ ){
 36          TMP。
37          TMP = TEMP [s.size() - 1 ]。
38          TMP + = temp.substr(0、s.size() - 1 )。
39          もし(TMP <S)を返す 40         温度= TMP;
41      }
 42      リターン 43  }
 44  のint main()の
 45  {
 46      INT _。
47      リード(_)。
48      一方(_-- ){
 49          ans.clear()。
50          文字列sの。
51          CIN >> S。
52          のint i = 0 ;
53          一方(iは< s.sizeを()){
 54台の             int型の POS = I。
55              のためのint型J = I; J <s.size(); J ++ 56                  であれば(チェック(s.substr(I、J-iは、+ 1 )))
 57                      posが= J。
58              ans.pb(s.substr(I、POS-I + 1 ))。
59              I = POS + 1 60          }
 61          のためのint型 i = 0 ; iは<ans.size(); iは++ 62              であれば(I == 0)COUT << ANS [I]。
63              他の coutの<< '  ' << ANS [i]は、
64          COUT << ENDL。
65     }
 66      リターン 0 67 }
ここにコード!

 

おすすめ

転載: www.cnblogs.com/wuliking/p/11372908.html
おすすめ