poj1691绘画板
1
7
0 0 2 2 1
0 2 1 6 2
2 0 4 2 1
1 2 4 4 2
1 4 3 6 1
4 0 6 4 1
3 4 6 6 2
#include<stdio.h>
#include<stdlib.h>
int data[100][100] = {0};
int zuo[16][5];
int z = 0;
int x = 0;
int y = 0;
int min = 15;
int cun[16] = {0};
int ip[15] = {0,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
int op[15]; int num = 0;
void DFS(int col,int step);
bool issafe(int c);
bool safe(int step,int i);
int main()
{
int n;
freopen("a.txt","r",stdin);
scanf("%d",&n);
for(int t = 0;t < n;t++)
{
scanf("%d",&z);
for(int r = 0;r < z;r++)
{
for(int s = 0;s < 5;s++)
{
scanf("%d",&zuo[r][s]);
if(zuo[r][2] > x)
{
x = zuo[r][2];
}
if(zuo[r][3] > y)
{
y = zuo[r][3];
}
} } DFS(0,0);
printf("%d\n",min);
num = 0;
min = 15;
for(int f = 0;f < 17;f++)
{
op[f] = 0;
cun[f] = 0;
for(int l = 0;l < 6;l++)
{
zuo[f][l] = 0;
} }
for(int p = 0;p <= x;p++)
{
for(int q = 0;q <= y;q++)
{
data[p][q] = 0;
}
}
}
return 0;
}
void DFS(int col,int step)
{
if(step == z)
{
if(num < min)
{
min = num;
}
return;
}
for(int i = 0;i < z;i++)
{
if(safe(step,i) && cun[i] == 0 && issafe(i))
{
cun[i] = 1;
op[step] = i;
for(int a = zuo[i][0];a < zuo[i][2];a++)
{
for(int b = zuo[i][1];b < zuo[i][3];b++)
{
data[a][b] = zuo[i][4];
}
}
if(col != zuo[i][4])
{
num++;
}
DFS(zuo[i][4],step + 1);
cun[i] = 0;
op[step] = 0;
for(int a = zuo[i][0];a < zuo[i][2];a++)
{
for(int b = zuo[i][1];b < zuo[i][3];b++)
{
data[a][b] = 0;
}
}
if(col != zuo[i][4])
{
num--;
} }
} }
bool issafe(int c)
{
bool ret = true;
for(int i = 0;i < zuo[c][0];i++)
{
for(int j = zuo[c][1];j < zuo[c][3];j++)
{
if(data[i][j] == 0)
{
ret = false;
return ret;
}
}
}
return ret;
}
bool safe(int step,int i)
{
bool ret = true;
for(int k = 0;k < step;k++)
{
if(i == op[k])
{
ret = false;
break;
}
}
return ret;
}
poj1691绘画板的更多相关文章
- Android绘画板(普通绘画模式和缩放平移绘画模式)
ScaleSketchPadDemo 项目地址: demo apk体验下载 demo2 apk体验下载 用法: 进入项目根目录:https://github.com/ShaunSheep/ScaleS ...
- Android 开源可缩放平移的绘画板
ScaleSketchPadDemo 此项目包含两个模块 app1 为普通绘画板 app2 为可所发的绘画板 方便各位Android 开发者理解和使用 用法: 进入项目根目录:https://gith ...
- fabric.js和高级画板
本文介绍fabric.js框架使用,以及使用fabricjs打造一个高级画板程序. 高级画板功能介绍 全局绘制颜色选择 护眼模式.网格模式切换 自由绘制 画箭头 画直线 画虚线 画圆/椭圆/矩形/直角 ...
- 【分享】用Canvas实现画板功能
前言 PC端测试:QQ浏览器全屏绘画完成.缩小时内容会被清空,切换背景颜色内容会被重置,其他暂无发现: 手机端测试:微信内置浏览器不通过:Safari 浏览器使用画笔时没固定页面会有抖动效果,使用橡皮 ...
- 绘客708s的设置
平时也有画画的想法,虽然画的不好,但是装备还是少不了的.因此,在大概一年之前就入手了绘客的708s的绘画板,10寸乘6寸的,很大,手绘方便多了. 在这段时间内,使用绘画板的时候还是遇到了一些问题,最主 ...
- Github装(zao)逼(jia)指(da)南(fa)
Github之于工程师,类似于微博相册之于嫩模,像是个门面. 无论是晋升答辩,还是求职面试,有一个丰富的代码仓库不敢说好处有多大,但总归是有的.并且好处不局限于此,代码开源才会暴露问题才会改正,并且会 ...
- IOS 作业项目(4)步步完成 画图 程序(剧终)
// // CHViewController.m // SuperDrawingSample // // Created by JaikenLI on 13-11-21. // Copyrig ...
- Java版连连看
连连看大家应该都玩过,不多说直接上一个做好的界面截图吧,所有的功能都在上面的,要做的就只是如何去实现它们了. 差不多就是这个样子.先说一下大致的思路吧.首先编写基本的界面:把什么按钮啊,表格啊什么的都 ...
- iOS学习——(转)UIResponder详解
本文转载自:ios开发 之 UIResponder详解 我们知道UIResponder是所有视图View的基类,在iOS中UIResponder类是专门用来响应用户的操作处理各种事件的,包括触摸事件( ...
随机推荐
- chrome输入框记住密码导致背景黄色的解决方案
在form头部增加以下内容 <input type="text" style="display:hidden;"> <input type=& ...
- centos7 systemctl grub2
centos最小好化安装没有ifconfig命令 刚安装了centos7.0,最小化安装,发现没有ifconfig命令,虚拟机里面的网卡显示ens32,这是centos7.0的特点,要使用 ifcon ...
- 横向浅谈移动技术------( 原生,混合,web --- 谁能问鼎移动开发的明天)
目前移动互联网基本采用了NativeApp.WebApp.HybridApp三种开发模式,很难说这三种模式那种更优越,目前的情况可以说是三分天下吧,不同的开发者可以根据自己的实际情况选择不同的开发模式 ...
- javascript学习代码-判断闰年
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【Ireport】利用Ireport5.2的table组件迅速制作表格导出pdf
转载请注明网址.Ireport table dataset Ireport在半年前还是4.7,今天无意发现,居然出到了5.2就搞一把. 首先,去下载Ireport,并进行安装.这个我就不演示了.下载完 ...
- js backbone
http://www.the5fire.com/backbone-js-tutorials-pdf-download.html http://www.infoq.com/cn/articles/mob ...
- Student's Morning
sgu242:http://acm.sgu.ru/problem.php?contest=0&problem=242 题意:把n个人分到m组,每一组至少2个人,每个人只能属于一个组.一开始把题 ...
- Ecshop开发
http://www.cnblogs.com/xcxc/category/579565.html
- 初次踏上GUI编程之路(有点意思,详细介绍了菜鸟的学习之路)
初次踏上GUI编程之路 —— 我的Qt学习方法及对Qt认识的不断转变 -> 开始接触GUI与开始接触Qt: 话说,我第一次看见“Qt”这一个名词,好像是在CSDN网站的主页上吧,因为CSDN好像 ...
- vs查看虚函数表和类内存布局
虚继承和虚基类 虚继承:在继承定义中包含了virtual关键字的继承关系: 虚基类:在虚继承体系中的通过virtual继承而来的基类,需要注意的是:class CSubClass : publ ...