HDU3160 Rooks

news/2025/1/11 21:02:37/

题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=17335

题意:

给定一个棋盘,棋盘上有一些必须要覆盖的点。现在可以放一个车,车可以消掉同行和同列上的点。

思路:看题解做的。假定选定某些行,函数为m,在剩余空行上遍历,若空行列上还存在点,则标记该列。标记完以后,统计总共几个列被标记,设为n。因为一个车可以同时消去行和列,所以答案是gmax(m,n),然后找出所有选定行的最小的gmax(m,n),即为答案。二进制表示选取行的方法是一个亮点。

刚开始以为是猎人射鸟问题,即猎人不参与到格子中,一次只能选一列或者一行,所以用类似增广路的dfs做。

源码:

#include <cstdio>

#include <cmath>

#include <cstring>

#include <string>

#include <algorithm>

#include <iostream>

using namespace std;

const int MAXN  = 15+2;

int id[32786];

char s[MAXN][MAXN];

int gmax(int a,int b){return a>b?a:b;}

int gmin(int a,int b){return a<b?a:b;}

int main()

{

    int i,j,k;

    id[0] = 0;

    for(i=0; i<=32786; i++){///二进制表示一个数

        id[i] = id[i>>1] + (i&1);

    }

    while(scanf("%s",s[0])!=EOF){

        if(s[0][0]=='E')

            return 0;

        for(i=1; i<15; i++){

            scanf("%s",s[i]);

        }

        int ans = 15;

        for(i=0; i<(1<<15); i++){

            int col[15];

            memset(col,0,sizeof(col));

            for(j=0; j<15; j++){

                if((i&(1<<j))==0){

                    for(k=0; k<15; k++)

                        if(s[j][k]=='#')

                            col[k] = 1;

                }

            }

            int tt = 0;

            for(j=0; j<15; j++)

                if(col[j]==1)

                    tt++;

            tt = gmax(id[i],tt);

            ans = gmin(ans,tt);

        }

        printf("%d\n",ans);

    }

    return 0;

}

 


http://www.ppmy.cn/news/220775.html

相关文章

pve安装黑群晖直通硬盘_PVE系列二:安装黑群晖DSM系统

摘要: PVE上安装黑群晖DSM系统 群晖介绍:群晖是私有云服务器,提供诸如文件备份、多媒体库、数据管理中心等功能,其它很多功能都已经在本站有详细介绍,本文将介绍将群晖安装在虚拟... PVE上安装黑群晖DSM系统 群晖介绍:群晖是私有云服务器,提供诸如文件备份、多媒体库、数…

Intel超低功耗CPU的一些信息

2015年底: Intel Braswell是专门针对超低功耗移动和桌面平台的一个家族,现有赛扬N3000/N3050/N3150、奔腾N3700四款型号,其中N300的热设计功耗只有区区4W,其他三款均为6W,N3150则是迷你机、瘦客户端等设备的最爱,已经有大量产品问世。 Intel今天发出通知,称将对Braswell…

j3455linux网卡不亮,最新J3455主板直接安装黑群晖的若干问题解决办法

为了解决数据的存储问题&#xff0c;决定自己搭建黑群晖系统。在对比了自己组装和买成品NAS的价格后&#xff0c;觉得万由J3455主板的HOME NAS性价比很高&#xff0c;非常适合搭建家庭的数据存储&#xff0c;而且机箱材质很好、噪音小、功耗低&#xff0c;走线也非常规范。类似…

codevs 3160

SA入门题&#xff0c;将2个串中间用另外的字符链接即可 调了半天一直以为是模板的错&#xff0c;原来是乘法超了intQAQ 不好意思。。传错代码&#xff0c;误认子弟&#xff08;啪啪啪 1 #include<bits/stdc.h>2 #define inc(i,l,r) for(int il;i<r;i)3 #define dec(i,…

bzoj3160

题意&#xff1a;给定一个字符串&#xff0c;求出所有不连续的回文子序列&#xff0c;并且该子序列在原串的位置关于某位置对称。 先忽略掉不连续这个条件&#xff0c;先求出所有的然后减去连续的。 连续的就是回文子串 用Manacher算法可以O(n)求解&#xff0c;&#xff08;注…

Proxmox VE(PVE)、软路由、黑群晖(NAS)成功之道

为什么要安装黑群晖&#xff08;NAS&#xff09;&#xff1f; 随着网络的发展&#xff0c;数据量也不断增大&#xff0c;家庭NAS会是生活中必不可少的一部分。360云盘事件&#xff0c;告诉我们网络云盘的不安全性。白群晖价格昂贵&#xff0c;而且安装黑群晖更加灵活&#xff…

zoj3160 DP

将自己历史的AC共享 zoj3160 DP题 dp[i][j] max(dp[i][k]dp[k1][j]) i<k //1768666 2009-02-21 17:42:40 Accepted 3160 C 70 904 green tea #include <cstdio> #include <algorithm> using namespace std;int flag[305][305], dp[305][305], a[305];int …

黑苹果 wifi android,黑苹果目前已可以完美驱动内置intel WiFi

目前能完美驱动的intel网卡如下 3系列 3165 3160 3168 7系列 7260 7265 8系列 8260 8265 9系列 9260 9560 9462 版本说明 2.8.1(采用“AppleIntelWiFi v1.2.3”驱动文件) v1.2.3 1、优化内存分配,更容易适配其他驱动 2、新增iwi驱动 v1.2.2 1、支持硬件id为0x2723的Wi-Fi 6…