http://acm.hdu.edu.cn/showproblem.php?pid=5113

题意:给你n*m的格子,然后在每个格子内涂色,相邻格子不能同色,然后给你每个颜色涂的格子的固定个数,然后可不可以实现,可以实现输出任意一种,否则输出NO

思路:dfs枚举,剪纸,每种颜色剩余的个数不能超过剩余格子数的一半,如果剩余格子数是奇数,不能超过一半加1,偶数是一半。

 #include <cstdio>
#include <cstring>
#include <algorithm>
#define maxn 100
using namespace std; struct node
{
int c;
int id;
bool operator<(const node &a)const
{
return c>a.c;
}
}p[];
int t,n,m,k;
int c[maxn];
int g[][];
bool flag1; void dfs(int cc)
{
if(flag1) return;
if(cc>=n*m) return ;
for(int i=; i<=k; i++)
{
if((n*m-cc)%==)
{
if(p[i].c>(n*m-cc)/) return;
}
else
{
if(p[i].c>(n*m-cc)/+) return;
}
}
int x=cc/m;
int y=cc%m;
for(int i=; i<=k; i++)
{
if((g[x-][y]==p[i].id&&x->=)||(g[x][y-]==p[i].id&&y->=)) continue;
if(p[i].c==) continue;
g[x][y]=p[i].id;
p[i].c--;
dfs(cc+);
p[i].c++;
if(cc==n*m-)
{
flag1=true;
printf("YES\n");
for(int xx=; xx<n; xx++)
{
for(int yy=; yy<m; yy++)
{
if(yy==) printf("%d",g[xx][yy]);
else printf(" %d",g[xx][yy]);
}
printf("\n");
}
}
}
} int main()
{
scanf("%d",&t);
for(int cas=; cas<=t; cas++)
{
scanf("%d%d%d",&n,&m,&k);
for(int i=; i<=k; i++)
{
scanf("%d",&c[i]);
p[i].c=c[i];
p[i].id=i;
}
sort(p+,p+k+);
bool flag=true;
for(int i=; i<k; i++)
{
if((n*m)%==)
{
if(c[i]>(n*m/))
{
flag=false;
break;
}
}
else
{
if(c[i]>((n*m)/+))
{
flag=false;
break;
}
}
}
printf("Case #%d:\n",cas);
if(!flag)
{
printf("NO\n");
continue;
}
flag1=false;
dfs();
if(!flag1) printf("NO\n");
}
return ;
}

hdu 5113 Black And White的更多相关文章

  1. HDU 5113 Black And White 回溯+剪枝

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5113 Black And White Time Limit: 2000/2000 MS (Java/ ...

  2. [HDU 5113] Black And White (dfs+剪枝)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5113 题目大意:给你N*M的棋盘,K种颜色,每种颜色有c[i]个(sigma(c[i]) = N*M) ...

  3. 搜索(剪枝优化):HDU 5113 Black And White

    Description In mathematics, the four color theorem, or the four color map theorem, states that, give ...

  4. HDU 5113 Black And White ( 2014 北京区预赛 B 、搜索 + 剪枝 )

    题目链接 题意 : 给出 n * m 的网格.要你用 k 种不同的颜色填给出的网格.使得相邻的格子颜色不同.若有解要输出具体的方案 分析 : 看似构造.实则搜索.手构构半天没有什么好想法 直接搜就行了 ...

  5. hdu 3911 Black And White(线段树)

    题目连接:hdu 3911 Black And White 题目大意:给定一个序列,然后有M次操作: 0 l r:表示询问l,r中最大连续1的个数 1 l r:表示将l,r区间上的数取反 解题思路:线 ...

  6. HDU 5113

    HDU 5113类似四色定理的什么东西,大体就是dfs了,不过有两个坑点,这个题的逼格瞬间就上去了1.剪枝很神奇,任何一种颜色都不能超过剩下总格子数的一半,想想确实显然但是比赛的时候没有想到:2.测评 ...

  7. Hdu OJ 5113 Black And White (2014ACM/ICPC亚洲区北京站) (搜索)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5113 题目大意:有k种颜色的方块,每种颜色有ai个, 现在有n*m的矩阵, 问这k种颜色的方块能否使任 ...

  8. HDU 5113:Black And White(DFS)

    题目链接 题意 给出一个n*m的图,现在有k种颜色让你对这个图每个格子染色,每种颜色最多可以使用col[i]次,问是否存在一种染色方案使得相邻格子的颜色不同. 思路 以为是构造题,结果是爆搜.对于每一 ...

  9. HDU 3911 Black And White 分段树 题解

    Problem Description There are a bunch of stones on the beach; Stone color is white or black. Little ...

随机推荐

  1. MyBatis Tutorial – CRUD Operations and Mapping Relationships – Part 1---- reference

    http://www.javacodegeeks.com/2012/11/mybatis-tutorial-crud-operations-and-mapping-relationships-part ...

  2. JAAS authentication in Tomcat example--reference

    In this tutorial you will learn how to configure JAAS authentication in Tomcat using the HTTP Basic ...

  3. Eclipse配置使用web.xml

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/SJQ. http://www.cnblogs.com/shijiaqi1066/p/3792664.html ...

  4. IEqualityComparer 去重

    1.去除list里某重复字段值的数据(相当于group by) public class CorrController { //方法 public void DoGet() { List<tes ...

  5. 一些硬件厂商的MAC号

    http://standards.ieee.org/develop/regauth/oui/oui.txt https://svn.nmap.org/nmap/nmap-mac-prefixes

  6. cmd运行java程序,无黑框闪烁

    程序目录中创建 “启动.bat” @echo off set mypath="%~dp0myjar.jar" echo %mypath% start javaw -jar %myp ...

  7. php函数serialize()与unserialize()

    serialize()和unserialize()在php手册上的解释是: serialize — Generates a storable representation of a value ser ...

  8. Linux系统swap已分区但无法挂载与cryptswap1问题

    linux下察看swap分区大小的命令 top 或者fdisk -l 或者free -m SWAP分区一般大小为物理内存的2倍,但最大不超过2G; 增加SWAP空间的方法有两个:增加另外一个SWAP分 ...

  9. 关于SQL配置管理器的服务无法启动的解决办法!

    由于各种问题的因素,导致SQL服务无法启动,然后去事件查看器里看了下,有两个关于SQL 的错误.分别是实例中master.mdf和master.ldf的文件系统拒绝访问! 为了赶作业,带着焦急的心情去 ...

  10. SSL VPN 详解

    SSL VPN是专栏VPN系列技术原理的最后一篇,SSL VPN作为远程接入型的VPN,已经具备非常广阔的前景,它的主要适应场景是取代L2TP Over IPSec,但功能要比L2TP Over IP ...