5-14 数据结构啊poi H.许多的游戏
来源:互联网 发布:买卖淘宝店铺安全吗 编辑:程序博客网 时间:2024/04/30 01:04
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=78124#problem/H
//想看题目的@willinglive
首先我们根据给出的字符串建立字典树
然后在字典树上dfs求出先手可否必赢和先手可否必输,记flag1和flag2
if(flag1)
{
if(flag2)
First
else
{
if(k%2==1)
First
else
Second
}
}
else
Second
然后就结束了
#include<cstdio>#include<string>#include<cstring>#include<algorithm>#include<iostream>using namespace std;int p;int t[270001][27];int sx1[2000001],sx2[2000001];int ss;inline void dfs1(int d,int tt){ int k; if(tt%2==1) sx1[d]=1; else sx1[d]=0; for(k=0;k<=25;k++) { if(t[d][k]!=0) { dfs1(t[d][k],tt+1); if(tt%2==1) { if(sx1[t[d][k]]==0) sx1[d]=0; } else { if(sx1[t[d][k]]==1) sx1[d]=1; } } }}inline void dfs2(int d,int tt){ int k; if(tt%2==1) sx2[d]=0; else sx2[d]=1; int s=0,s1=0; for(k=0;k<=25;k++) { if(t[d][k]!=0) { dfs2(t[d][k],tt+1); s++; if(tt%2==1) { /*if(sx2[t[d][k]]==0) sx2[d]=0;*/ if(sx2[t[d][k]]==1) s1++; } else { /*if(sx2[t[d][k]]==1) // s1++; sx2[d]=1;*/ if(sx2[t[d][k]]==0) s1++; } } } if(tt%2==1&&s!=0) { if(s1==s) sx2[d]=1; } else if(s!=0) { if(s1==s) sx2[d]=0; }}int main(){ int n,k; scanf("%d%d",&n,&k); int i,lx,j; string s; p++; for(i=1;i<=n;i++) { cin>>s; lx=s.size(); int temp=1; for(j=1;j<=lx;j++) { int k=s[j-1]-'a'; if(t[temp][k]==0) { p++; t[temp][k]=p; temp=p; } else temp=t[temp][k]; } } memset(sx1,-1,sizeof(sx1)); dfs1(1,0); memset(sx2,-1,sizeof(sx2)); dfs2(1,0); if(sx1[1]==1) { if(sx2[1]==1) printf("First\n"); else { if(k%2==1) printf("First\n"); else printf("Second\n"); } } else printf("Second\n"); return 0;}
0 0
- 5-14 数据结构啊poi H.许多的游戏
- 5-14 数据结构啊poi E.splay上的游戏
- 5-14 数据结构啊poi T.三个数组的故事
- 5-14 数据结构啊poi B.mex
- 5-14 数据结构啊poi F.文化
- 5-14 数据结构啊poi Q.购票
- 5-14 数据结构啊poi C.交错和
- 5-14 数据结构啊poi D.折叠纸片
- 5-14 数据结构啊poi A.暑假作业
- 5-14 数据结构啊poi N.重建计划
- 5-14 数据结构啊poi W.区间对
- 数据结构 H 逆序的人生
- VC++游戏开发1------利用图片拼接实现内存中构建游戏地图,许多游戏编辑器的原理。
- cdoj 2015数据结构专题:H - 秋实大哥打游戏
- 许多的sap网站
- 许多的sap网站
- 许多的sap网站
- 暴雪的许多默认
- 用Swift开发Mac App(8)
- 黑马程序员——Java基础---字符串、数组相关
- smart watch DM08 watches men Sync whatsapp facebook Pedometer Camera mp3 Player
- GCD
- linux开发环境搭建-----开发环境,光盘内容,交叉编译工具链
- 5-14 数据结构啊poi H.许多的游戏
- 00-自测1. 打印沙漏(20)
- maximo自助服务中心,去掉弹出框“创建请求”按钮
- Huawei Honor Smart Bracelet Smart Sports Bracelet Support Calorie Sports&Sleep Tracking
- 菜单 item android:showAsAction 报错解决方法
- 成为一名优秀程序员所需要知道的那些事
- 【leetcode】Pow(x, n)
- 静态变量与静态函数
- 关于hibernate中对象的三种状态分析