diff --git a/src/11/23/markov_chain.cpp b/src/11/23/markov_chain.cpp new file mode 100644 index 0000000..c60532e --- /dev/null +++ b/src/11/23/markov_chain.cpp @@ -0,0 +1,67 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using ll = int64_t; +#define sl static inline + +const int cnsize=3; +ll ltmp; +std::map> m; +std::vector startw; +std::random_device rd; +std::mt19937 mt(rd()); +std::unordered_set old; + +sl std::vector stovs(const std::string &s){ + std::vector ret; + for(int i=0;i>ltmp){ + std::string b; + std::cin>>b; + std::vector strs=stovs(b); + // for(auto &i:strs){ + // std::cout< uv(0,startw.size()-1); + for(int i=1;i<=20;i++){ + // std::cout<<"i="< uvm(0,m[now].size()-1); + now=m[now][uvm(mt)]; + } + std::cout<