这个题太坑爹了,题意也好纠结。

是这样的,给你一个n*m的矩形,中间有n*m个1*1的格子,有不同的跳跃方法。如果当前为human(人类)那么他可以有意识的选择自己下一步跳往何方;如果当前为pig(猪)那么它会沿着上一次跳跃的步奏跳跃。现在问你对于每一个格子,初始状态为那种(human OR pig)可以使得最后跳出整个矩形。

这样想,对于(1,1)的P显然可以一步就跳出去了。所以这是一个必胜态。

然后任何一个可以直接跳到(1,1)的格子都应该为H,不为H的格子一定就是P了,因为沿着上一次的方向跳一定可以跳到一个H去。

题目中我直接用的一个一维数字模拟二维数组,时间和空间上都十分可观,就是(T_T)调试出了好多小问题。

 #include <iostream>
#include <cstdio>
#include <cstring>
#define maxn 40040
using namespace std; int n,m,k;
char s[maxn]; int f(int x,int y) { return (x-)*m+y; } void update(int cur)
{
cur--;
for (int x=cur/m+,y=cur%m++x; y<=m; y+=x) s[f(x,y)]='H';
for (int y=cur%m+,x=cur/m++y; x<=n; x+=y) s[f(x,y)]='H';
} int main()
{
int cas=;
while (scanf("%d%d",&n,&m)!=EOF)
{
memset(s,,sizeof s);
for (int i=; i<=n*m; i++)
{
if (s[i]=='H') continue;
s[i]='P';
update(i);
}
printf("Case #%d:\n",++cas);
for (int i=; i<=n*m; i++)
{
printf("%c",s[i]);
if (i%m==) printf("\n");
}
}
return ;
}

ZOJ3513_Human or Pig的更多相关文章

  1. Hadoop学习笔记—16.Pig框架学习

    一.关于Pig:别以为猪不能干活 1.1 Pig的简介 Pig是一个基于Hadoop的大规模数据分析平台,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换 ...

  2. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  3. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

  4. Hive集成HBase;安装pig

    Hive集成HBase 配置 将hive的lib/中的HBase.jar包用实际安装的Hbase的jar包替换掉 cd /opt/hive/lib/ ls hbase-0.94.2*  rm -rf ...

  5. Hadoop Pig简介、安装、试用

    相比Java的MapReduce api,Pig为大型数据集的处理提供了更高层次的抽象,与MapReduce相比,Pig提供了更丰富的数据结构,一般都是多值和嵌套的数据结构.Pig还提供了一套更强大的 ...

  6. 【Pig源码分析】谈谈Pig的数据模型

    1. 数据模型 Schema Pig Latin表达式操作的是relation,FILTER.FOREACH.GROUP.SPLIT等关系操作符所操作的relation就是bag,bag为tuple的 ...

  7. Pig 实现关键词匹配

    1. 问题描述 收集日志avro数据中有两个Map字段appInstall.appUse分别表示已安装的app.正在使用的app,且key值为app的名称,value值为app使用信息.现在要得到一份 ...

  8. Pig + Ansj 统计中文文本词频

    最近特别喜欢用Pig,拥有能满足大部分需求的内置函数(built-in functions),支持自定义函数(user defined functions, UDF),能load 纯文本.avro等格 ...

  9. Hadoop:pig 安装及入门示例

    pig是hadoop的一个子项目,用于简化MapReduce的开发工作,可以用更人性化的脚本方式分析数据. 一.安装 a) 下载 从官网http://pig.apache.org下载最新版本(目前是0 ...

随机推荐

  1. 小程序if else 判断显示隐藏

    wxml: <view> <text wx:if="{{ifnumber>80}}">{{ifnumber}}</text> <te ...

  2. 北京Uber优步司机奖励政策(4月10日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  3. day1 创建X00001文件1K

    要求:创建文件名为:X000001-X999999,大小为1K 的文件 版本1) import os #1.输入要创建的文件数量 nums = int(input("nums:") ...

  4. Zabbix学习之路(九)之低级自动发现以及MySQL多实例

    1.概述 Zabbix的网络发现是指zabbix server通过配置好的规则,自动添加host,group,template Zabbix的主动注册刚好和网络发现是相反的,功能基本一致.zabbix ...

  5. 探寻ASP.NET MVC鲜为人知的奥秘(3):寻找多语言的最佳实践方式

    如果你的网站需要被世界各地的人访问,访问者会使用各种不同的语言和文字书写习惯,那么创建一个支持多语言的网站就是十分必要的了,这一篇文章就讲述怎么快速合理的创建网站对多语言的支持.接下来通过一个实例来讲 ...

  6. Unity编辑器扩展chapter1

    Unity编辑器扩展chapter1 unity通过提供EditorScript API 的方式为我们提供了方便强大的编辑器扩展途径.学好这一部分可以使我们学会编写一些工具来提高效率,甚至可以自制一些 ...

  7. JAVA基础学习之路(十二)链表

    定义链表的基本结构: class Link {//外部类 //内部类,只为链表类服务 private class Node {//定义节点类 private String data;//保存的数据 p ...

  8. Oracle集合

    --union 并集 select * from emp where ename like '%A%' union select * from emp where ename like '%M%'; ...

  9. 利用xlsxwriter生成数据报表

    #!/usr/bin/env python# -*- coding:utf-8 -*-import os,xlsxwriter,datetimeimport ConfigParserfrom send ...

  10. 1035 Password (20 分)(字符串)

    注意下单复数 #include<bits/stdc++.h> using namespace std; pair<string,string>pa; int main() { ...