题面

发现好像没有什么好做法,那就模拟么=。=

以印章左上角的'x'为基准,记录印章上'x'的相对位置模拟。记录相对位置是因为可能有这种情况↓

直接模拟是会漏掉的=。=

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,M=;
int mapp[M][M],pos[N*N][];
int n,m,a,b,T,cnt,firx,firy;
char rd[N];
inline void i207M()
{
cnt=,firx=firy=-;
memset(mapp,,sizeof mapp);
}
inline bool judge()
{
register int i,j;
for(i=;i<=n;i++)
for(j=;j<=m;j++)
if(mapp[i][j]) return false;
return true;
}
inline bool print(int x,int y)
{
register int i;
for(i=;i<=cnt;i++)
{
int nx=x+pos[i][],ny=y+pos[i][];
if(!mapp[nx][ny]) return false;
if(nx>n||ny>m) return false;
mapp[nx][ny]=;
}
return true;
}
int main ()
{
register int i,j;
scanf("%d",&T);
while(T--)
{
i207M();
scanf("%d%d%d%d",&n,&m,&a,&b);
for(i=;i<=n;i++)
{
scanf("%s",rd+);
for(j=;j<=m;j++)
mapp[i][j]=(rd[j]=='x');
}
for(i=;i<=a;i++)
{
scanf("%s",rd+);
for(j=;j<=b;j++)
if(rd[j]=='x')
{
if(firx==-) firx=i,firy=j;
pos[++cnt][]=i-firx,pos[cnt][]=j-firy;
}
}
if(firx==-&&!judge()) {printf("NIE\n"); continue;}
bool f=true;
for(i=;i<=n&&f;i++)
for(j=;j<=m&&f;j++)
if(mapp[i][j]&&!print(i,j)) f=false;
(f&&judge())?printf("TAK\n"):printf("NIE\n");
}
return ;
}

解题:POI 2015 Pieczęć的更多相关文章

  1. 解题:POI 2015 PUS

    题面 还以为是差分约束,原来拓扑排序也能解决这样的问题=.= 类似差分约束的建图方式,我们把大小关系看做有向边.这样一来图上是不允许存在环的,于是我们可以做拓扑排序.然后问题来了,边数非常大,根本建不 ...

  2. 解题:POI 2015 Kinoman

    题面 发现每种电影只在两场之间产生贡献(只有$pos$的一场的就在$[pos,n]$产生贡献).那么我们针对每个位置$i$求出这场电影下一次出现的位置$nxt[i]$,然后每次更新一下,求整个区间的最 ...

  3. [BZOJ 3747] [POI 2015] Kinoman【线段树】

    Problem Link : BZOJ 3747 题解:ZYF-ZYF 神犇的题解 解题的大致思路是,当区间的右端点向右移动一格时,只有两个区间的左端点对应的答案发生了变化. 从 f[i] + 1 到 ...

  4. Odwiedziny[POI 2015]

    题目描述 给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i]. Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并 ...

  5. [POI 2015]Kinoman

    Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]. 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部. 你可以选择l,r(1<=l< ...

  6. POI题解整合

    我也不知道为啥我就想把POI的题全都放到一篇blog里写完. POI 2005 SAM-Toy Cars 贪心,每次选下次出现最晚的. POI 2006 KRA-The Disks 箱子位置单调,所以 ...

  7. 2015 Multi-University Training Contest 6 solutions BY ZJU(部分解题报告)

    官方解题报告:http://bestcoder.hdu.edu.cn/blog/2015-multi-university-training-contest-6-solutions-by-zju/ 表 ...

  8. 2015 German Collegiate Programming Contest (GCPC 15) + POI 10-T3(12/13)

    $$2015\ German\ Collegiate\ Programming\ Contest\ (GCPC 15) + POI 10-T3$$ \(A.\ Journey\ to\ Greece\ ...

  9. [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告

    [NOIP 2015]运输计划 题面: A[NOIP2015 Day2]运输计划 时间限制 : 20000 MS 空间限制 : 262144 KB 问题描述 公元 2044 年,人类进入了宇宙纪元. ...

随机推荐

  1. Python+selenium+pil+tesseract实现自动识别验证码

    一.环境搭建准备: 1.Python下载,安装以及环境配置 2.IDE pycharm 工具下载,安装 3.ie浏览器 4.selenium 5.pil:pil第三方库的下载,win下安装whl文件, ...

  2. jenkens其实是代码上传工具

    Jenkins 持续集成使用教程 用 jenkins 有什么好处 通过规范化来完成,简单,繁琐,浪费时间的重复工作 规范化工作,以免出现低级错误 实现随时随地任何人一键构建 ...... 安装 jen ...

  3. Unity3D之AR开发(二)

    上一篇给大家介绍了高通AR的使用,接下来给大家分享一下EasyAR EasyAR引擎简介 EasyAR是做好用的且免费的增强现实(Augmented Reality)引擎,EasyAR为Unity开发 ...

  4. Java Basic&Security Tools

    JDK Tools and Utilities Basic Tools These tools are the foundation of the JDK. They are the tools yo ...

  5. Java Monitoring&Troubleshooting Tools

    JDK Tools and Utilities Monitoring Tools You can use the following tools to monitor JVM performance ...

  6. 袋鼠云研发手记 | 数栈·开源:Github上400+Star的硬核分布式同步工具FlinkX

    作为一家创新驱动的科技公司,袋鼠云每年研发投入达数千万,公司80%员工都是技术人员,袋鼠云产品家族包括企业级一站式数据中台PaaS数栈.交互式数据可视化大屏开发平台Easy[V]等产品也在迅速迭代.在 ...

  7. sql server block如何查询并kill

    本帖提供两种做法,可避免在 SQL Server 事务锁定时产生的不正常或长时间阻塞,让用户和程序也无限期等待,甚至引起 connection pooling 连接数超过容量. 所谓的「阻塞」,是指当 ...

  8. 用js两张图片合并成一张图片

    JS和canvas的合成方式 function drawAndShareImage(){ var canvas = document.createElement("canvas") ...

  9. Polycarp and Letters(set首战!)

    Description Polycarp loves lowercase letters and dislikes uppercase ones. Once he got a string s con ...

  10. 汉诺塔python实现

    下载汉诺塔ppt def move(n,A,B,C): if n == 1: print(A,'->',C) else: move(n-1,A,C,B) print(A,'->',C) m ...