解题:POI 2015 Pieczęć
发现好像没有什么好做法,那就模拟么=。=
以印章左上角的'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ęć的更多相关文章
- 解题:POI 2015 PUS
题面 还以为是差分约束,原来拓扑排序也能解决这样的问题=.= 类似差分约束的建图方式,我们把大小关系看做有向边.这样一来图上是不允许存在环的,于是我们可以做拓扑排序.然后问题来了,边数非常大,根本建不 ...
- 解题:POI 2015 Kinoman
题面 发现每种电影只在两场之间产生贡献(只有$pos$的一场的就在$[pos,n]$产生贡献).那么我们针对每个位置$i$求出这场电影下一次出现的位置$nxt[i]$,然后每次更新一下,求整个区间的最 ...
- [BZOJ 3747] [POI 2015] Kinoman【线段树】
Problem Link : BZOJ 3747 题解:ZYF-ZYF 神犇的题解 解题的大致思路是,当区间的右端点向右移动一格时,只有两个区间的左端点对应的答案发生了变化. 从 f[i] + 1 到 ...
- Odwiedziny[POI 2015]
题目描述 给定一棵n个点的树,树上每条边的长度都为1,第i个点的权值为a[i]. Byteasar想要走遍这整棵树,他会按照某个1到n的全排列b走n-1次,第i次他会从b[i]点走到b[i+1]点,并 ...
- [POI 2015]Kinoman
Description 共有m部电影,编号为1~m,第i部电影的好看值为w[i]. 在n天之中(从1~n编号)每天会放映一部电影,第i天放映的是第f[i]部. 你可以选择l,r(1<=l< ...
- POI题解整合
我也不知道为啥我就想把POI的题全都放到一篇blog里写完. POI 2005 SAM-Toy Cars 贪心,每次选下次出现最晚的. POI 2006 KRA-The Disks 箱子位置单调,所以 ...
- 2015 Multi-University Training Contest 6 solutions BY ZJU(部分解题报告)
官方解题报告:http://bestcoder.hdu.edu.cn/blog/2015-multi-university-training-contest-6-solutions-by-zju/ 表 ...
- 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\ ...
- [NOIP 2015]运输计划-[树上差分+二分答案]-解题报告
[NOIP 2015]运输计划 题面: A[NOIP2015 Day2]运输计划 时间限制 : 20000 MS 空间限制 : 262144 KB 问题描述 公元 2044 年,人类进入了宇宙纪元. ...
随机推荐
- android开发问题 Failed to pull selection 菜鸟记录
在eclipse中开发创建了一个sqlite数据库文件,为了查看数据库文件的内容,决定复制到PC上一看究竟,位置在data……里 当我点击ddms文件浏览里的pull a file from the ...
- hadoop的safemode 安全模式
hadoop启动检查副本块数,就会进入safemode safemode的相关情况 虽然不能进行修改文件的操作,但是可以浏览目录结构.查看文件内容的. 在命令行下是可以控制安全模式的进入.退出和查看的 ...
- Live Archive 训练题
7091 Height Ordering Mrs. Chambers always has her class line up in height order (shortest at the fro ...
- CF 1008B Turn the Rectangles(水题+贪心)
There are n rectangles in a row. You can either turn each rectangle by 90 degrees or leave it as it ...
- struts常量<constant>说明
1.<constant name="struts.action.extension" value="do" />这个时候访问action都必须加.d ...
- 博弈---巴什博奕(Bash Game)(博弈入门)
巴什博奕(Bash Game):只有一堆n个物品,两个人轮流从这堆物品中取物,规 定每次至少取一个,最多取m个.最后取光者得胜. 显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走 ...
- <<世界是数字的>>读书笔记
<世界是数字的>这本书是大学职业规划老师介绍个我读的,从着本中我学到了很多. 第一章,计算机里有什么.这个问题可以从两方面来看:逻辑上或者说功能上的组成,即每一部分是什么.做什么.怎样做. ...
- Alpha-8
前言 失心疯病源8 团队代码管理github 站立会议 队名:PMS 530雨勤(组长) 今天完成了那些任务 20:00~23:00 代码整合,已形成可用模块,但还需适应场景局部优化 代码签入gith ...
- Jquery获取属性值
jq获取某个标签内的属性值:$("#TeamPerformanceYearUl li:eq(0)").attr('data') jq获取li或者td第一个属性(索引值从零开始)$( ...
- erlang init:stop()不起效
http://blog.equanimity.nl/blog/2015/03/15/erlang-one-weird-trick-goodiebag/ http://erlang.org/piperm ...