#include#include#include#include#include#include#include#include#include#ifdefWIN32#definefmt64"%I64d"#else#definefmt64"%lld"#endif#definePIM_PI#" />

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

wordcraft(陳高遠)

系統 2364 0
    #include <cstdio>

#include <cmath>

#include <cstdlib>

#include <cstring>

#include <ctime>

#include <cctype>

#include <vector>

#include <map>

#include <set>

#include <algorithm>

#ifdef WIN32

#define fmt64 "%I64d"

#else

#define fmt64 "%lld"

#endif

#define PI M_PI

#define oo 0x13131313

#define iter iterator

#define fst first

#define snd second

#define PB push_back

#define MP make_pair

#define FOR(i, j, k) for (i = (j); i <= (k); ++i)

#define ROF(i, j, k) for (i = (j); i >= (k); --i)

#define FER(i, j, k) for (edge *i = j[k]; i; i = i->n)

#define FRE(i, a) for (i = a.begin(); i != a.end(); ++i)

using namespace std;

template<class T> inline bool minim(T &a, const T &b) {return b < a ? a = b, 1 : 0;}

template<class T> inline bool maxim(T &a, const T &b) {return b > a ? a = b, 1 : 0;}

template<class T> inline T sqr(const T &a) {return a * a;}

typedef unsigned int uint;

typedef long long int64;

typedef unsigned long long uint64;

typedef long double real;

#define maxn 100002

struct edge{int t; edge *n;}es[maxn], *adj = es, *lst[maxn];

void link(int i, int j)

{

    *(++adj) = (edge){j, lst[i]}, lst[i] = adj;

}

int sg[maxn], sgs[maxn]; bool ok[maxn];

struct function_get_sg

{

    int flag, f[maxn]; bool root;

    void dfs(int u, int sum)

    {

        if (u) {

            f[sum ^ sgs[u]] = flag;

            if (root && !(sum ^ sgs[u]))

                ok[u] = 1;

        }

        FER(e, lst, u) dfs(e->t, sum ^ sgs[u] ^ sg[e->t]);

    }

    void operator()(int u)

    {

        root = !u;

        FER(e, lst, u) sgs[u] ^= sg[e->t];

        ++flag, dfs(u, 0);

        for (int i = 0; ; ++i) if (f[i] != flag) {sg[u] = i; return;}

    }

} get_sg;

void dfs(int u)

{

    FER(e, lst, u)

        dfs(e->t);

    get_sg(u);

}

int n, maxLen; char st[maxn][105], *tt;

inline bool prefix(char *s, char *t)

{

    for (; *t; ++s, ++t) if (!*s || *s != *t) break;

    return !*s;

}

void input()

{

    int i, j; static int fa[maxn];

    scanf("%d%d\n", &n, &maxLen);

    FOR(i, 1, n) {

        char *c = st[i], *s = c;

        for (; ~(*c = getchar()) && *c != '\n'; ++c);

        *c = 0;

        for (j = i - 1; j && !prefix(st[j], s); j = fa[j]);

        link(j, i), fa[i] = j;

    }

}

void print()

{

    int i, j = 0;

    FOR(i, 1, n) if (ok[i]) {

        char *s = st[i];

        for (; *s; ++s)

            if (putchar(*s), ++j == 50) putchar('\n'), j = 0;

    }

}

int main()

{

    input();

    dfs(0);

    if (!sg[0]) puts("Can’t win at all!!"), exit(0);

    print();

}
  


wordcraft(陳高遠)


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 四虎福利| 久久爱www| 完整日本特级毛片 | 综合久久久久久久综合网 | 亚洲rv国产rv日本rv | 精品欧美一区二区三区在线 | se94se欧美综合色 | 国产在线播放91 | 国产在线91| 日本高清不卡网站免费 | 亚洲欧美日韩在线不卡中文 | 久久国产精品久久 | 五月天婷亚洲 | 伊人情人综合 | 国产精品亚洲一区二区麻豆 | 四虎在线免费 | 一区二区三区视频观看 | 天天天做天天天天爱天天想 | 四虎影视2022入口网址 | 伊人中文字幕在线 | 国产精品99久久 | 亚洲人人干 | 婷婷综合久久 | 麻豆久久婷婷国产综合五月 | 奇米麻豆 | 国产精品久久久久久久9999 | 中文字幕不卡在线播放 | 亚洲精品一区二区在线观看 | 婷婷在线视频观看 | 免费播放欧美毛片欧美a | 亚洲一区二区三区高清视频 | 99久久国产综合精品网成人影院 | 天天躁天天碰天天看 | 色yeye成人免费视频 | 伊人黄色片| 国产综合久久久久 | 手机看片福利视频 | 久热免费在线观看 | 色综合色狠狠天天综合色 | 一级欧美毛片成人 | 91av综合|