题目有很强的结论,看代码应该可以知道结论是什么
但是想了两天还是没有想到一个严格的证明
大概思路:
首先边的奇偶影响答案(走过去优就继续拓展,不优就走回来)
转化为01问题
考虑消元的过程中,对面的一个点会发生什么
如果这个点可以成为主元,说明从这个点出发一定会有奇数长度的路径(即便是双方交替进行)
↑感性认识一下感觉非常有道理,然而并不会证(sad
然后基于这个结论就可以做了,把其他所有点的出边情况送进去消元,消完后再把起点也丢进去判断是否会被消掉
因为这是公平博弈,所以可以用相同方法判断对方在某个点的胜负,故可以产生方案

UPD:
似乎是后手只要不断把先手往基上拉,先手就会输,所以要看起点能不能被消掉
先手不往基上走为啥会赢我没搞清楚,感觉与行列消元得到的主元相同有联系

Thx to yjq

#include<stdio.h>
#include<cstring>
#include<cstdlib>
#define N 51
typedef long long ll;int n,m,e,v,edg[N][N],d1[N],d2[N];
ll row[N],col[N],pivot[N];inline bool add(ll mask)
{for (int i=1;i<N;i++) if (mask>>i&1) {if (pivot[i]) mask^=pivot[i]; else {pivot[i]=mask;return 1;}}return 0;
}inline void go(int t)
{printf("%d\n",t);fflush(stdout);--edg[v][t];--d1[v];row[v]^=1LL<<t;col[t]^=1LL<<v;if (--d2[t]==0){puts("Player 1 wins");exit(0);}scanf("%d",&v);--edg[v][t];--d1[v],--d2[t];row[v]^=1LL<<t;col[t]^=1LL<<v;
}inline bool check(int y)
{memset(pivot,0,sizeof(pivot));for (int i=1;i<=m;i++) if (i!=y) add(col[i]);return !add(col[y]^(1LL<<v));
}inline void win()
{while (1){for (int i=1;i<=m;i++) if (edg[v][i] && check(i)) {go(i);break;}}
}inline void lost()
{while (1) {bool flag=1;for (int i=1;i<=m;i++) if (edg[v][i]) go(i),flag=0;if (flag) {puts("Player 2 wins");exit(0);}continue;}
}int main()
{scanf("%d%d%d%d",&n,&m,&e,&v);for (int u,v;e--;) {scanf("%d%d",&u,&v);++d1[u],++d2[v];++edg[u][v];row[u]^=1LL<<v;col[v]^=1LL<<u;}for (int i=1;i<=n;i++) if (i!=v) add(row[i]);if (add(row[v])) win(); else lost();
}

Gym - 100886B 2015-2016 Petrozavodsk Winter Training Camp, Saratov SU Contest B - Game on Bipartite相关推荐

  1. 2015-2016 Petrozavodsk Winter Training Camp, Nizhny Novgorod SU Contest

    地址 Rank Solved A B C D E F G H I 60/176 4/9 . O O . . . O O . O: 当场通过 Ø: 赛后通过 .: 尚未通过 A Prevent a Ga ...

  2. 2020-2021 Winter Petrozavodsk Camp, Belarusian SU Contest (XXI Open Cup, Grand Prix of Belarus)

    题目链接 C. Brave Seekers of Unicorns 给出一个好数组的定义: 1.1.1. 长度不为空 2.2.2. a[i]⨁a[i−1]⨁a[i−2]≠0a[i] \bigoplus ...

  3. 2015 UESTC Winter Training #10【Northeastern Europe 2009】

    2015 UESTC Winter Training #10 Northeastern Europe 2009 最近集训都不在状态啊,嘛,上午一直在练车,比赛时也是刚吃过午饭,状态不好也难免,下次比赛 ...

  4. 2015 UESTC Winter Training #6【Regionals 2010 North America - Rocky Mountain】

    2015 UESTC Winter Training #6 Regionals 2010 >> North America - Rocky Mountain A - Parenthesis ...

  5. 五年级计算机学情分析,2015—2016学年小学五年级信息技术上册教学计划

    一.指导思想 以教育部<中小学信息技术课程指导纲要>为指导.培养学生对信息技术的兴趣和意识,让学生了解和掌握信息技术基本知识和技能,了解信息技术的发展及其应用对人类日常生活和科学技术的深刻 ...

  6. Codeforces Round #588 (Div. 2) D. Marcin and Training Camp 思维

    传送门 文章目录 题意: 思路: 题意: 有nnn个人,每个人都有一个能力值bib_ibi​以及他会的技能aia_iai​,当他会第xxx个技能的时候,aia_iai​的第xxx位是111.定义当xx ...

  7. LSGO软件技术团队2015~2016学年第十七周(1221~1227)总结

    团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统:研究方向为大数据处理与机器学习.成立几年来为学校培养了一批 ...

  8. LSGO软件技术团队2015~2016学年第十六周(1214~1220)总结

    团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统:研究方向为大数据处理与机器学习.成立几年来为学校培养了一批 ...

  9. LSGO软件技术团队2015~2016学年第十五周(1207~1213)总结

    团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统:研究方向为大数据处理与机器学习.成立几年来为学校培养了一批 ...

  10. LSGO软件技术团队2015~2016学年第十三周(1123~1129)总结

    团队简述: LSGO软件技术团队成立于2010年10月,主要从事的应用方向为互联网与移动互联网(UI设计,前端开发,后台开发),地理信息系统:研究方向为大数据处理与机器学习.成立几年来为学校培养了一批 ...

最新文章

  1. 使用多个JFrame:好的还是不好的做法? [关闭]
  2. linux查看执行过的命令行,在Linux命令终端中查看和编辑曾执行过的命令 – LINUX笔记 – CFEI.NET...
  3. HTML5 APP项目展示响应式网页模板
  4. 网站安全之XSS漏洞攻击以及防范措施
  5. ionic xcode 上传appstroe 创建Distribution证书报错 you already have a current iOS Distribution certificate
  6. 软件测试验收方法_验收测试是美丽的魔术。 这就是它可以改善您的生活的方法。...
  7. python七月超有用的十大开源代码(2019)
  8. python循环中释放内存的方法_我怎样才能在Python中明确释放内存?
  9. 送小公主——哆啦A梦(Python代码实现)
  10. 算法练习-鸡兔同笼问题
  11. excel 查找/替换 回车键
  12. 软件工程方法论对开发的有多大用?
  13. oracle spatial 论文,oraclespatial在实际应用中的六大功能体现
  14. 【数智化案例展】浙江电信——数据中台与BI技术助力通信行业驱动高质量数据价值的流通闭环...
  15. php新浪微博 登录接口文档,新浪微博的账号登录及PHP api操作
  16. 值得你半辈子思考的话
  17. 算法工程师9——机器学习概述(下篇-算法进阶)
  18. 【python代码实现】朴素贝叶斯分类算法
  19. Windows下安装NTP服务器——搭建时间同步服务器
  20. 金太阳联考2021高考成绩查询,广东金太阳高三联考2021成绩查询

热门文章

  1. mysql数据库增加一行_在数据库中添加一行的SQL语句怎么写?
  2. Dapps解封大众市场的动力
  3. 绩效考核过程中会遇到的问题
  4. 【OpenCV】将图片黑色背景变成透明背景
  5. Win10应用商店无法加载页面,错误代码0x80131500怎么办
  6. 网盘背后的秘密(稍作修改)
  7. bing输入法linux,必应Bing输入法特殊符号输入方法图文教程
  8. 如何用计算机录视频,怎么用电脑录制视频
  9. MSDN 我告诉你(资源库)
  10. 微信好友大揭秘,使用Python抓取朋友圈数据,通过人脸识别全面分析好友,一起看透你的“朋友圈”