CSU 1102 多连块拼图
多连块拼图
时间限制:1000 ms | 内存限制:65535 KB 难度:4
- 描述
- 多连块是指由多个等大正方形边与边连接而成的平面连通图形。 ———— 维基百科
给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成。小多连块只能平移,不能旋转或者翻转。两个小多连块不得重
叠。左下图是一个合法的拼法,但右边两幅图都非法。中间那幅图的问题在于其中一个小多连块旋转了,而右图更离谱:拼在一起的那两个多连块根本就不是那个给
定的小多连块(给定的小多连块画在右下方)。
- 输入
- 输
入最多包含 20 组测试数据。每组数据第一行为两个整数 n 和 m(1<=m<=n<=10)。以下 n
行描述大多连块,其中每行恰好包含 n 个字符*或者.,其中*表示属于多连块,.表示不属于。以下 m
行为小多连块,格式同大多连块。输入保证是合法的多连块(注意,多连块至少包含一个正方形)。输入结束标志为 n=m=0。 - 输出
- 对于每组测试数据,如果可以拼成,输出 1,否则输出 0。
- 样例输入
-
4 3
.**.
****
.**.
....
**.
.**
...
3 3
***
*.*
***
*..
*..
**.
4 2
****
....
....
....
*.
*.
0 0 - 样例输出
-
1
0
0
模拟,记录小矩形中*号第一次出现的位置a,b,大矩形中*号第一次出现的位置 c,d.小矩形与大矩形的映射关系是 g[i][j] <---> G[c+i-a][d+j-b],匹配两次即可。#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define Lim 0.999999
#define EPS 1e-2
#define PI acos(-1.0)
using namespace std;
int n,m;
char graph1[][],graph[][];
int a,b,c,d; ///分别记录大矩形和小矩形内*第一次出现
void get(){
bool flag = false;
for(int i=;i<=n;i++){
for(int j=;j<=m;j++){
if(graph[i][j]=='*'&&!flag){
flag = true;
c = i;
d = j;
}
}
}
}
bool judge(){
get();
for(int i=;i<=m;i++){
for(int j=;j<=m;j++){
if(graph1[i][j]=='*'){
if(graph[c+i-a][d+j-b]=='*'){
graph[c+i-a][d+j-b] = '.';
}else return ;
}
}
}
get();
for(int i=;i<=m;i++){
for(int j=;j<=m;j++){
if(graph1[i][j]=='*'){
if(graph[c+i-a][d+j-b]=='*'){
graph[c+i-a][d+j-b] = '.';
}else return ;
}
}
}
return ;
}
int main(){
while(scanf("%d%d",&n,&m)!=EOF,n+m){
for(int i=;i<=n;i++){
scanf("%s",graph[i]+);
}
bool flag = false;
for(int i=;i<=m;i++){
scanf("%s",graph1[i]+);
for(int j=;j<=m;j++){
if(graph1[i][j]=='*'&&!flag){
flag = true;
a = i,b = j;
}
}
}
if(judge()) printf("1\n");
else printf("0\n");
}
}
CSU 1102 多连块拼图的更多相关文章
- ACM: NBUT 1105 多连块拼图 - 水题 - 模拟
NBUT 1105 多连块拼图 Time Limit:1000MS Memory Limit:65535KB 64bit IO Format: Practice Appoint ...
- D-多连块拼图
多连块是指由多个等大正方形边与边连接而成的平面连通图形. – 维基百科 给一个大多连块和小多连块,你的任务是判断大多连块是否可以由两个这样的小多连块拼成.小多连块只能平移,不能旋转或者翻转.两个小多连 ...
- 拼图游戏 v1.1
我一直对拼图游戏比较有兴趣,市面上卖的所谓“1000块拼图”也玩过不少,不过玩那个太占地方,后来也不再买了,同时也就萌生了在电脑上玩拼图的想法. 现在虽然有很多拼图游戏,但能大多数只能支持几十或几百块 ...
- H、CSL 的拼图 【多维点的交换】 (“新智认知”杯上海高校程序设计竞赛暨第十七届上海大学程序设计春季联赛)
题目传送门:https://ac.nowcoder.com/acm/contest/551/H 题目描述 众所周知 CSL 不仅玩魔方很强,打麻将也很强.今天他打魔法麻将的时候,在路上撞到了一个被打乱 ...
- BZOJ 3873: [Ahoi2014]拼图
BZOJ 3873: [Ahoi2014]拼图 标签(空格分隔): OI-BZOJ OI-DP Time Limit: 10 Sec Memory Limit: 256 MB Description ...
- gym/102021/J GCPC18 模拟拼图
模拟拼图 题意: 给定n块拼图,每个拼图为四方形,对应四条边有四个数字,如果为0,表示这个边是在边界的,其他数字表示和另一个拼图的一条边相接.保证每个非零数只出现两次. 思路: 模拟,但是要注意几个情 ...
- [LOJ#500]「LibreOJ β Round」ZQC的拼图
题目 点这里看题目. 分析 首先不难发现答案具有单调性,因此可以二分答案.答案上限为\(V=2m\times \max\{a_i, b_i\}\). 考虑如何去判断当前的答案.设这个答案为 ...
- 【转载 来自sdnlab】 开放网络没那么简单
链接:开放网络没那么简单 本文是云杉网络工程师张攀对当前开源网络技术现状的一些思考和探索. 开放网元.释放数据的价值 从2012年开始至今,网络行业明显是O字辈的天下.所有我接触过了解过的组织和项目, ...
- codeforces 377A. Puzzles 水题
A. Puzzles Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/problemset/problem/33 ...
随机推荐
- Static全局变量(函数)与普通的全局变量(函数)的区别
转自:http://www.cnblogs.com/zjvskn/p/5548879.html Static全局变量与普通的全局变量有什么区别? 答: 全局变量(外部变量)的说明之前再冠以static ...
- codeforces765F Souvenirs
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000 作者博客:http://www.cnblogs.com/ljh2000-jump/ ...
- python基础----封装、封装与扩展性
从封装本身的意思去理解,封装就好像是拿来一个麻袋,把小猫,小狗,小王八,还有egon和alex一起装进麻袋,然后把麻袋封上口子.但其实这种理解相当片面 首先我们要了解 要封装什么 你钱包的有多少钱(数 ...
- Codeforces Round #271 (Div. 2) D 简单dp
D. Flowers time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input ...
- IIS最大并发连接数
最大并发连接数 = 队列长度 + 工作线程数 [工作线程数] IIS实际可以第一时间处理的请求数.比如,工作线程数 = 100,一万个连接请求同时涌过来,那么只有100个可以被处理,其余9900个进入 ...
- Web 开发者不可不知的15条编码原则
HTML 已经走过了近20的发展历程.从HTML4到XHTML,再到最近十分火热的HTML5,它几乎见证了整个互联网的发展.但是,即便到现在,有很多基础的概念和原则依然需要开发者高度注意.下面,向大家 ...
- 对 JavaScript 进行单元测试的工具
简介 单元测试关注的是验证一个模块或一段代码的执行效果是否和设计或预期一样.有些开发人员认为,编写测试用例浪费时间而宁愿去编写新的模块.然而,在处理大型应用程序时,单元测试实际上会节省时间:它能帮助您 ...
- 【BZOJ】4766: 文艺计算姬
[题目]给定两边节点数为n和m的完全二分图,求生成树数取模给定的p.n,m,p<=10^18. [算法]生成树计数(矩阵树定理) [题解]参考自 [bzoj4766]文艺计算姬 by WerKe ...
- 【vijos】P1190 繁忙的都市
[算法]最小生成树 #include<cstdio> #include<algorithm> using namespace std; ; ]; int fa[maxn],he ...
- 使用Forms Authentication
using System; using System.Web; using System.Web.Security; namespace AuthTest { public class Aut ...