博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU_1524 A Chess Game (sg函数)
阅读量:5927 次
发布时间:2019-06-19

本文共 1149 字,大约阅读时间需要 3 分钟。

  /*今天一翻以前做的sg函数的题,这题原来的代码居然跑781MS, 我晕!又重新写 了一遍,开始vis数组定义成全局变量了,WA。。。T_T My Code(78+MS):*/ #include 
#include
#include
using namespace std; const int N = 1005; struct node{
int num; int edg[N]; }e[N]; int sg[N]; int mex(int t){
if(sg[t] != -1) return sg[t]; int i; bool vis[N] = {
0}; for(i = 0; i < e[t].num; i++){
vis[mex(e[t].edg[i])] = 1; } for(i = 0; ; i++){
if(!vis[i]){
sg[t] = i; break; } } return sg[t]; } int main(){
//freopen("data.in", "r", stdin); int n, i, j, m, flag, k; while(~scanf("%d", &n)){
memset(e, 0, sizeof(e)); for(i = 0; i < n; i++){
scanf("%d", &e[i].num); for(j = 0; j < e[i].num; j++){
scanf("%d", &e[i].edg[j]); } } for(i = 0; i < N; i++){
sg[i] = -1; } for(i = 0; i < n; i++){
mex(i); } while(scanf("%d", &m), m){
flag = 0; while(m--){
scanf("%d", &k); flag ^= sg[k]; } if(flag) puts("WIN"); else puts("LOSE"); } } return 0; }

转载地址:http://mnevx.baihongyu.com/

你可能感兴趣的文章
30秒的PHP代码片段(3)字符串-String & 函数-Function
查看>>
介紹敏捷方法: Scrum, Kanban or Lean?
查看>>
Web前端开发过程踩过的坑以及一些小方法技巧(持续更新)
查看>>
力扣(LeetCode)31
查看>>
vue JS 对象赋值
查看>>
快速体验 Sentinel 集群限流功能,只需简单几步
查看>>
web前端开发项目资源网站,私家珍藏!
查看>>
原型链
查看>>
241. Different Ways to Add Parentheses
查看>>
Objective-C 中关联引用的概念
查看>>
JavaScript 如何使用闭包
查看>>
小程序开发之影分身术
查看>>
关于React-redux的Provider, connect的解析
查看>>
阐述商业数据分析
查看>>
css-flex:在不确定div高的情况下让图片文字上下左右居中
查看>>
基础知识:css3核心知识整理
查看>>
margin合并、塌陷,清除浮动
查看>>
利用C++对象的生命周期让你的代码看起来更简洁高效
查看>>
GraphQL —— 接口类型
查看>>
JSON生成Form表单(一)
查看>>