/** @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(打表代码的更多相关文章

  1. [转]用Python做一个自动生成读表代码的小脚本

    写在开始(本片文章不是写给小白的,至少你应该知道一些常识!) 大家在Unity开发中,肯定会把一些数据放到配置文件中,尤其是大一点的项目,每次开发一个新功能的时候,都要重复的写那些读表代码.非常烦.来 ...

  2. OVS 内核KEY值提取及匹配流表代码分析

    原文链接:http://ry0117.com/2016/12/24/OVS内核KEY值提取及匹配流表代码分析/ 当开启OVS后,创建datapath类型为system的网桥并他添加相关接口,OVS网桥 ...

  3. python编写九九乘法表代码

    打印九九乘法表 代码: #!/usr/bin/env python # -*- coding: UTF-8 -*- # 项目二: # 1.要求:编写九九乘法表 # 2.分析: # 根据九九乘法表的样式 ...

  4. poj 3177&&3352 求边双联通分量,先求桥,然后求分量( 临界表代码)

    /*这道题是没有重边的,求加几条边构成双联通,求边联通分量,先求出桥然后缩点,成一个棵树 找叶子节点的个数*/ #include<stdio.h>//用容器写在3177这个题上会超内存,但 ...

  5. Lua 读表代码,自动生成字段名字

    表格格式为 INT STRING INT INT INT INT INT Id Desc Type SceneId OpenId MaxPliesp ClearancePlies 第1关 - 第2关 ...

  6. HDU 6185 Covering 矩阵快速幂

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6185 题意:用 1 * 2 的小长方形完全覆盖 4 * n的矩形有多少方案. 解法:小范围是一个经典题 ...

  7. hdu 4542 打表+含k个约数最小数

    http://acm.hdu.edu.cn/showproblem.php?pid=4542 给出一个数K和两个操作 如果操作是0,就求出一个最小的正整数X,满足X的约数个数为K. 如果操作是1,就求 ...

  8. HDU 1223 打表 + 大数

    http://acm.hdu.edu.cn/showproblem.php?pid=1223 一般遇到这些题,我都是暴力输出前几项,找规律.未果. 然后输出n = 1时候,以A开始,有多少个答案, n ...

  9. Python之99乘法表代码

    #coding=utf-8 #左下三角格式输出九九乘法表 for i in range(1,10):      for j in range(1,i+1):          print " ...

随机推荐

  1. NDK环境搭建方法1

    1.新建NdkDemo工程 2.新建NdkJniUtils类,在内部声明native方法 3.引用 4.build项目,生成NdkDemo\app\build\intermediates\classe ...

  2. MongoDB之$关键字及$修改器$set $inc $push $pull $pop

    一.查询中常见的  等于   大于  小于  大于等于  小于等于 等于:用':' 大于:用'$gt' 小于:用'$lt' 大于等于:用'$gte' 小于等于:用'$lte' MongoDB的操作就是 ...

  3. vue初学:基础概念

    一.vue使用步骤: 1.引包vue.js 2.html中写要操作的DOM节点 3.创建vue对象:new Vue({options}); 4.配置options:el:(要操作的对象,用选择器,同j ...

  4. 项目总结13:Jav文件压缩-InputStream转化为base64-Base64解码并生成图片

    Jav文件压缩-InputStream转化为base64-Base64解码并生成图片 直接上源码,解释见文章尾部 package com.hs.common.util.imgecode; import ...

  5. Django的rest_framework的视图之Mixin类编写视图源码解析

    Mixin类编写视图 我们这里用auther表来做演示,先为auther和autherdetail写2个url url(r'^autherdetail/(?P<id>\d+)', view ...

  6. swift - 16进制颜色扩展(1.支持# 2.支持不带# , 3支持带0X)

    /** * 设置16进制颜色: * 可识别类型 * 1:有# * 2:没有# * 3:含有0X */ extension UIColor{ class func hexadecimalColor(he ...

  7. vue-form表单验证插件

    参考地址:https://segmentfault.com/q/1010000003988864 github地址:https://github.com/fergaldoyle/vue-form 安装 ...

  8. 使用clear来清除localStorage保存对象的全部数据

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  9. 让 div中的div垂直居中的方法!!同样是抄袭来的(*^__^*)

    同样 ,水平居中很简单,给子div设置margin:0px auto; 垂直居中也不难::给父div设置display:table-cell;vertical-align:middle; 重点是dis ...

  10. 在浏览器中运行java applet

    最近在看java applet,在eclipse中可以正常运行,于是想试试在浏览器中运行.但途中遇到很多问题,网上很多解答也不全面,于是想把自己的解决过程记录下来. [1]首先,编写的applet程序 ...