DFS的过程中引用一个指针对数组的引用是很不靠谱的, 以后要引用, 尽量传一个值, 类似于用结构体, 封装一个数组。

http://acm.hdu.edu.cn/showproblem.php?pid=4536

View Code

const int MM = 22222;
int N,M, Q;
struct Info {int belong[22];int val[22];
}p;
vector<int>B[MM];
int ret,g;
int a[5][MM];
Info t;
void get_data() {int i,j,k;scanf("%d%d%d",&N,&M,&Q);for(i=0;i<MM;i++) B[i].clear();for(i=0;i<N;i++) {scanf("%d",&p.belong[i]);B[p.belong[i]].push_back(i);}for(i=0;i<N;i++) scanf("%d",&p.val[i]);
}
void dfs(int h,Info tt,int sum) {int i,j,k,v;bool flag;if(sum>ret) ret=sum;if(h>=Q) return;for(i=0;i<3;i++) {t=tt;flag=false;t.val[a[i][h]]-=2;if(t.val[a[i][h]]<1) t.val[a[i][h]]=1;for(j=0;j<3;j++) {if(i==j) continue;t.val[a[j][h]]+=2;if(t.val[a[j][h]]>5) {flag=true;break;}for(k=0;k<B[t.belong[a[j][h]]].size();k++) {v=B[t.belong[a[j][h]]][k];if(v==a[j][h]) continue;t.val[v]+=1;if(t.val[v]>5) {flag=true;break;}}if(flag) break;}        if(!flag) dfs(h+1,t,sum+1);}
}
void solve() {int i,j,k;ret=0;for(i=0;i<Q;i++) {scanf("%d%d%d",&a[0][i],&a[1][i],&a[2][i]);}dfs(0,p,0);printf("Case #%d: %d\n",g++,ret);
}

转载于:https://www.cnblogs.com/zhang1107/archive/2013/04/01/2993225.html

XCOM Enemy Unknown相关推荐

  1. HDU-4536 XCOM Enemy Unknown 枚举

    题意:有N个国家,每个国家属于一个洲,现在有人要来攻击一些国家,每次攻击选择来自三个不同洲的国家,我们能够选择去保护一个国家,被保护的国家恐惧值-2,其余两个国家恐惧值+2,和这两个国家在一个洲的国家 ...

  2. hdu4536 水搜索

    题意: XCOM Enemy Unknown Time Limit: 500/200 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others ...

  3. linux 游戏大作,20款值得一试 外媒盘点Mac平台游戏大作

    原标题:20款值得一试 外媒盘点Mac平台游戏大作 外媒为我们盘点了最好玩的20款将Mac游戏,这些游戏不止在Mac上,多数平台均已支持,在Mac上体验更佳,感兴趣的朋友一起来试试看吧.(图片来自te ...

  4. 如何在 Linux 和 Windows 之间共享 Steam 的游戏文件

    假如你决心成为一名 Linux 平台上的玩家,并且在 Steam 上拥有同时支持 Linux 和 Windows 平台的游戏,或者基于同样的原因,拥有双重启动的系统,则你可以考虑看看这篇文章. 我们中 ...

  5. linux更换steam目录,在 Linux 和 Windows 之间玩转 Steam 游戏

    导读 这篇详细的指南将向你展示如何在 Linux 和 Windows 之间共享 Steam 的游戏文件以节省下载的总用时和下载的数据量.我们将展示给你它是怎样为我们节约了 83% 的数据下载量. 假如 ...

  6. 在 Linux 和 Windows 之间玩转 Steam 游戏

    导读 这篇详细的指南将向你展示如何在 Linux 和 Windows 之间共享 Steam 的游戏文件以节省下载的总用时和下载的数据量.我们将展示给你它是怎样为我们节约了 83% 的数据下载量. 假如 ...

  7. 2013年苹果Mac平台最重要的游戏盘点

    3月26日消息,随着苹果电脑越来越流行,很多Windows系统下的当红软件都纷纷移植到Mac操作系统上来了.各大游戏厂商自然也不会放弃这个曾经小众但现在却越来越有潜力的市场,将目光投向了苹果电脑用户. ...

  8. linux和windows文件共享软件,桌面应用|如何在 Linux 和 Windows 之间共享 Steam 的游戏文件...

    简介:这篇详细的指南将向你展示如何在 Linux 和 Windows 之间共享 Steam 的游戏文件以节省下载的总用时和下载的数据量.我们将展示给你它是怎样为我们节约了 83% 的数据下载量. 假如 ...

  9. 游戏里常见的动态难度调节机制(DDA, dynamic difficulty adjustment)

    原作者:Caleb Compton 有一类隐藏机制相比之下更加多样化且普遍--调整游戏难度和平衡的机制.这些机制被总称为动态难度调节(dynamic difficulty adjustment,下文简 ...

  10. 小队战术游戏研究:武器

    作者:Cipher 联系作者:cipherf@sina.com 本文中提到的小队战术游戏(Squad Tactics Simulation)是指玩家指挥控制数人至十数人的小队成员,完成各种战术任务的游 ...

最新文章

  1. 一个在raw里面放着数据库文件的网上例子
  2. IDEA多行缩进快捷键
  3. Linux accept tcp,Linux TCP accept without SYN|ACK
  4. gradle镜像配置:使用阿里云仓库服务的代理仓库地址代替jcenter()、mavenCentral()及google()
  5. Web优化 --利用css sprites降低图片请求
  6. golang 结构体断言_Golang中的reflect原理
  7. (王道408考研操作系统)第三章内存管理-第一节2:内存管理的基本概念
  8. 隐藏了十年的 Sudo 漏洞曝出:无需密码就能获取 root 权限
  9. Ubuntu64位安装Adobe Reader 9.5.5
  10. 利用AOP+Swagger注解实现日志记录功能
  11. php怎么把字符转成大写,php将字符串全部转换成大写或者小写的方法
  12. grub4dos引导启动linux,grub4dos中怎么样调用syslinux引导
  13. 微信手机端调试工具-微信Web开发者工具使用教程
  14. Fastqc安装运行(jdk安装)
  15. autojs教程:找图函数
  16. 苹果三代耳机_硕美科真无线耳机W20,质价比新品上市!
  17. 麦克斯韦方程组之波动方程的导出
  18. 期末小结(一). 专业技术
  19. 英文写作:讨论的中文逻辑是什么?讨论怎么写?
  20. python离散余弦变换_Python图像处理 —— DCT变换

热门文章

  1. android最新版本下载vivo,vivo官网下载
  2. QT学习笔记(一)之本地播放器
  3. Ubuntu18中调用cv2.imshow及PIL库遇到的bug “: cannot connect to X server”及display-im6.q16: unable to open X。。。
  4. 解决Docker 一直starting 的办法
  5. MMORPG网络游戏开发之用户管理
  6. 机器人阿郎_孕晚期胎教故事文字版:机械人阿郎
  7. 产品经理:个人能力提升方法
  8. Zepto中touch模块的使用(移动端)
  9. servlet+js实现首页、尾页、下一页、上一页(翻页功能)
  10. 2908. Annoying painting tool