HDU 6185(打表代码
/** @xigua */
#include <cstdio>
#include <cmath>
#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <cstring>
#include <queue>
#include <set>
#include <string>
#include <map>
#include <climits>
#define PI acos(-1)
using namespace std;
typedef long long LL;
typedef double db;
const int maxn = 1e5 + ;
const int mod = 1e9 + ;
const int INF = 1e8 + ;
const LL inf = 1e15 + ;
const db eps = 1e-;
int mp[][];
int vis[][];
int n;
LL sum=;
int cnt=; bool safe(int x, int y) {
if (x>=&&x<&&y>=&&y<n&&!vis[x][y]) return ;
return ;
}
bool check() {
for (int i=; i<; i++) {
for (int j=; j<n; j++) {
if (!vis[i][j]) {
return ;
}
}
}
return ;
}
int findx() {
for (int i=; i<; i++) {
for (int j=; j<n; j++) {
if (!vis[i][j]) {
return i;
}
}
}
return -;
}
int findy() {
for (int i=; i<; i++) {
for (int j=; j<n; j++) {
if (!vis[i][j]) {
return j;
}
}
}
return -;
}
void dfs(int x, int y) {
for (int k=; k<; k++) {
if (k==) { //1*2
if(safe(x,y)&&safe(x+,y)) {
vis[x][y]=, vis[x+][y]=;
if (check()) {
sum++;
vis[x][y]=, vis[x+][y]=;
}
else {
int xx=findx(), yy=findy();
if(xx!=-&&yy!=-) {
vis[x][y]=, vis[x+][y]=;
dfs(xx,yy);
vis[x][y]=, vis[x+][y]=;
}
} }
}
if (k==) { //2*1
if (safe(x,y)&&safe(x,y+)) {
vis[x][y]=, vis[x][y+]=;
if (check()) {
sum++;
vis[x][y]=, vis[x][y+]=;
}
else {
vis[x][y]=, vis[x][y+]=;
int xx=findx(), yy=findy();
if(xx!=-&&yy!=-) {
dfs(xx,yy);
vis[x][y]=, vis[x][y+]=;
}
}
}
}
}
}
void solve() {
scanf("%d", &n);
sum=; cnt=;
memset(vis, , sizeof(vis));
dfs(, );
cout<<"sum:"<<sum<<endl;
}
int main() {
int t = , cas = ;
//freopen("in.txt", "r", stdin);
// freopen("out.txt", "w", stdout);
//scanf("%d", &t);
while(t--) {
// printf("Case %d: ", cas++);
solve();
}
return ;
}
HDU 6185(打表代码的更多相关文章
- [转]用Python做一个自动生成读表代码的小脚本
写在开始(本片文章不是写给小白的,至少你应该知道一些常识!) 大家在Unity开发中,肯定会把一些数据放到配置文件中,尤其是大一点的项目,每次开发一个新功能的时候,都要重复的写那些读表代码.非常烦.来 ...
- OVS 内核KEY值提取及匹配流表代码分析
原文链接:http://ry0117.com/2016/12/24/OVS内核KEY值提取及匹配流表代码分析/ 当开启OVS后,创建datapath类型为system的网桥并他添加相关接口,OVS网桥 ...
- python编写九九乘法表代码
打印九九乘法表 代码: #!/usr/bin/env python # -*- coding: UTF-8 -*- # 项目二: # 1.要求:编写九九乘法表 # 2.分析: # 根据九九乘法表的样式 ...
- poj 3177&&3352 求边双联通分量,先求桥,然后求分量( 临界表代码)
/*这道题是没有重边的,求加几条边构成双联通,求边联通分量,先求出桥然后缩点,成一个棵树 找叶子节点的个数*/ #include<stdio.h>//用容器写在3177这个题上会超内存,但 ...
- Lua 读表代码,自动生成字段名字
表格格式为 INT STRING INT INT INT INT INT Id Desc Type SceneId OpenId MaxPliesp ClearancePlies 第1关 - 第2关 ...
- HDU 6185 Covering 矩阵快速幂
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6185 题意:用 1 * 2 的小长方形完全覆盖 4 * n的矩形有多少方案. 解法:小范围是一个经典题 ...
- hdu 4542 打表+含k个约数最小数
http://acm.hdu.edu.cn/showproblem.php?pid=4542 给出一个数K和两个操作 如果操作是0,就求出一个最小的正整数X,满足X的约数个数为K. 如果操作是1,就求 ...
- HDU 1223 打表 + 大数
http://acm.hdu.edu.cn/showproblem.php?pid=1223 一般遇到这些题,我都是暴力输出前几项,找规律.未果. 然后输出n = 1时候,以A开始,有多少个答案, n ...
- Python之99乘法表代码
#coding=utf-8 #左下三角格式输出九九乘法表 for i in range(1,10): for j in range(1,i+1): print " ...
随机推荐
- NDK环境搭建方法1
1.新建NdkDemo工程 2.新建NdkJniUtils类,在内部声明native方法 3.引用 4.build项目,生成NdkDemo\app\build\intermediates\classe ...
- MongoDB之$关键字及$修改器$set $inc $push $pull $pop
一.查询中常见的 等于 大于 小于 大于等于 小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...
- vue初学:基础概念
一.vue使用步骤: 1.引包vue.js 2.html中写要操作的DOM节点 3.创建vue对象:new Vue({options}); 4.配置options:el:(要操作的对象,用选择器,同j ...
- 项目总结13:Jav文件压缩-InputStream转化为base64-Base64解码并生成图片
Jav文件压缩-InputStream转化为base64-Base64解码并生成图片 直接上源码,解释见文章尾部 package com.hs.common.util.imgecode; import ...
- Django的rest_framework的视图之Mixin类编写视图源码解析
Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url url(r'^autherdetail/(?P<id>\d+)', view ...
- swift - 16进制颜色扩展(1.支持# 2.支持不带# , 3支持带0X)
/** * 设置16进制颜色: * 可识别类型 * 1:有# * 2:没有# * 3:含有0X */ extension UIColor{ class func hexadecimalColor(he ...
- vue-form表单验证插件
参考地址:https://segmentfault.com/q/1010000003988864 github地址:https://github.com/fergaldoyle/vue-form 安装 ...
- 使用clear来清除localStorage保存对象的全部数据
<!doctype html> <html> <head> <meta charset="utf-8"> <title> ...
- 让 div中的div垂直居中的方法!!同样是抄袭来的(*^__^*)
同样 ,水平居中很简单,给子div设置margin:0px auto; 垂直居中也不难::给父div设置display:table-cell;vertical-align:middle; 重点是dis ...
- 在浏览器中运行java applet
最近在看java applet,在eclipse中可以正常运行,于是想试试在浏览器中运行.但途中遇到很多问题,网上很多解答也不全面,于是想把自己的解决过程记录下来. [1]首先,编写的applet程序 ...