zcmu--1931: wjw的剪纸(dfs+枚举)
1931: wjw的剪纸
Time Limit: 4 Sec Memory Limit: 128 MB
Submit: 47 Solved: 16
[Submit][Status][Web Board]Description
ly最近要生日了,wjw决定送一份礼物给这个傻孩子,考虑了一下礼物,发现贵的买不起,远的不想去,麻烦的不想做...最后wjw决定剪一张好看的图案给ly当作礼物,毕竟礼轻情意重嘛,情谊重就行了!
现在wjw手里有一张正方形的彩纸,这张彩纸的边长是n,由n*n个小正方形组成,现在wjw沿着小正方形的边把这张彩纸剪成两部分,为了美观,他决定剪成形状完全相同的两部分...这时,wjw突发奇想,想知道到底能剪出多少种不同的图案?但是wjw的智商不支持他回答自己的问题,于是他只能求助你,请你告诉他答案是多少.//比如6*6的彩纸,以下是两种剪法
Input
每组数据包含多组测试数据,每行一个正整数n(4<=n<=10)
Output
每行一个正整数表示答案
Sample Input
4
Sample Output
11
HINT
Source
jnxxhzz
【分析】中心对称图形。所以从中心点开始搜索,每次可以走四个方向。搜索时标记一对点。因为每次搜索都是从中心点开始搜索的,所以会有重复的情况。所以最终答案要÷4;如果直接这样输出的话,是会tle的,所以,自己一个个试出来,然后输出就好了。
【代码】
#include<iostream>
#include<cstring>
#include<string>
#include<cstdio>
using namespace std;
const int maxn=20;
int vis[maxn][maxn];
int dir[4][2]={{-1,0},{1,0},{0,-1},{0,1}};
int n,ans;
void dfs(int x,int y)
{if(x==0||x==n||y==0||y==n){ans++;return;}for(int i=0;i<4;i++){int xx=x+dir[i][0];int yy=y+dir[i][1];if(vis[xx][yy])continue;vis[xx][yy]=vis[n-xx][n-yy]=1;dfs(xx,yy);vis[xx][yy]=vis[n-xx][n-yy]=0;}
}
int main()
{while(~scanf("%d",&n)){if(n%2){puts("1");continue;}else{if(n==2)puts("1");if(n==4)puts("11");if(n==6)puts("509");if(n==8)puts("184525");if(n==10)puts("562070107");
// memset(vis,0,sizeof(vis));
// ans=0;
// vis[n/2][n/2]=1;
// dfs(n/2,n/2);
// printf("%d\n",ans/4);}}return 0;
}
zcmu--1931: wjw的剪纸(dfs+枚举)相关推荐
- ZCMU - 1931: wjw的剪纸
题目链接:点击打开链接 题目大意:略. 解题思路:从中心点开始搜索,每次可以走四个方向.搜索的过程要将中心对称点顺便标记. AC 代码 #include<bits/stdc++.h> #i ...
- 【ZCMU1931】wjw的剪纸(dfs)
题目链接 1931: wjw的剪纸 Time Limit: 4 Sec Memory Limit: 128 MB Submit: 40 Solved: 13 [Submit][Status][We ...
- 蓝桥杯 历届试题 分考场(DFS+枚举)
传送门 题目描述 n个人参加某项特殊考试. 为了公平,要求任何两个认识的人不能分在同一个考场. 求是少需要分几个考场才能满足条件. 输入 第一行,一个整数n(1<n<100),表示参加考试 ...
- POJ 1753 Flip Game DFS枚举
看题传送门:http://poj.org/problem?id=1753 DFS枚举的应用. 基本上是参考大神的.... 学习学习.. #include<cstdio> #include& ...
- hdu 2489 Minimal Ratio Tree (DFS枚举+MST)
参考链接:http://blog.csdn.net/xingyeyongheng/article/details/9373271 http://www.cnblogs.com/chenxiwenruo ...
- The Pilots Brothers' refrigerator DFS+枚举
Description The game "The Pilots Brothers: following the stripy elephant" has a quest wher ...
- wjw的剪纸(DFS)
题目: ly最近要生日了,wjw决定送一份礼物给这个傻孩子,考虑了一下礼物,发现贵的买不起,远的不想去,麻烦的不想做...最后wjw决定剪一张好看的图案给ly当作礼物,毕竟礼轻情意重嘛,情谊重就行了! ...
- poj 1950 Dessert(dfs枚举,模拟运算过程)
/* 这个代码运行的时间长主要是因为每次枚举之后都要重新计算一下和的值! 如果要快的话,应该在dfs,也就是枚举的过程中计算出前边的数值(这种方法见第二个代码),直到最后,这样不必每一次枚举都要从头再 ...
- POJ 3311 Hie with the Pie (flyod + DFS枚举)
先用floyd算法求出 2点间的最短距离,然后再用深搜枚举即可. #include<cstdio> #include<cstring> #include<iostream ...
最新文章
- 【Linux基础】第五周作业
- 后台开发经典书籍--深入理解Nginx模块开发与架构
- linux下各个头文件及作用总结
- 第五章-分布式并行编程框架MapReduce
- Spring Security OAuth2——自定义OAuth2第三方登录(Gitee)并与UsernamePassword登录关联解决方案
- Apache Commons Configuration使用入门
- linux上mongodb的安装与卸载
- DRDS到MaxCompute(原ODPS)数据归档性能优化测试
- 面试必备:Spring 面试 63 问!
- 爬虫python是干什么的_爬虫是什么?能自学嘛
- 如何在面试时搞定 Java 虚拟机?
- Rust 1.7.0 处理命令行參数
- Android10手机无法拉起微信小程序解决方案
- 幼儿园编程机器人课程介绍
- bos 获取数据库连接_BOS单据外部调用接口说明
- 深圳中科院计算机研究所,专家人才库数据----中国科学院计算技术研究所
- 弘辽科技:淘宝提升销量不评价有效果吗?不提升销量能做起来吗?
- Everyday-FE-Articles 8~11月前端文章日推 [持续更新]
- 百数智慧社区细分领域合作案例展示
- 后摩尔时代来临,语音IC封装技术一触即发