delightful world--计蒜客(DFS)
http://nanti.jisuanke.com/t/11067
题目大意: 给你一个n和m 下面是m个字符串和k 每一字符串的长度是n 你要找一个串跟每一个串匹配 有k个字符是和这个串相等 让你求有多少个正确的串
他说 k最大是5 所以就直接枚举第一个串的正确的位置 然后跟其他的比较 枚举最大的也就是C(35,5) 32万多
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<ctype.h>
#include<math.h>
#include<queue>
#include<algorithm>
#include<iostream> using namespace std;
#define N 50
const double ESP = 1e-;
#define INF 0xffffffff
#define memset(a,b) memset(a,b,sizeof(a)) int n,m;
char maps[N][N];
int c[N],a[N];
char ch[N];
int ans=; int judge()
{
for(int i=; i<=m; i++)
{
int t=;
for(int j=; j<=n; j++)
{
if(maps[i][j]==ch[j])
t++;
}
if(t!=a[i])
return false;
}
return true;
} int ok()
{
for(int i=; i<=n; i++)
{
if(c[i]==)
ch[i]=maps[][i];
else if(maps[][i]=='')
ch[i]='';
else
ch[i]='';
}
if(judge())
return true;
return false;
} void DFS(int nn,int k)
{
if(nn<k)
return;
if(k==)
{
if(ok())
ans++;
return;
}
c[nn]=;
DFS(nn-,k);
c[nn]=;
DFS(nn-,k-);
c[nn]=; } int main()
{
memset(a,);
memset(c,);
memset(maps,);
memset(ch,);
while(scanf("%d %d",&n,&m)!=EOF)
{
memset(a,);
memset(c,);
memset(maps,);
memset(ch,);
for(int i=; i<=m; i++)
{
scanf("%s %d",maps[i]+,&a[i]);
}
ans=;
DFS(n,a[]);
printf("%d\n",ans);
}
return ;
}
delightful world--计蒜客(DFS)的更多相关文章
- 计蒜客的一道题dfs
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形. ...
- 计蒜客 等边三角形 dfs
题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长, ...
- 计蒜客 方程的解数 dfs
题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/det ...
- 计蒜客 买书 dfs
题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, ...
- 计蒜客 NOIP 提高组模拟竞赛第一试 补记
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n, ...
- [计蒜客] 矿石采集【记搜、Tarjan缩点+期望Dp】
Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求 ...
- 计蒜客 作弊揭发者(string的应用)
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库 ...
- 计蒜客模拟赛5 D2T1 成绩统计
又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. ...
- 计蒜客:Entertainment Box
Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fight ...
- 爬虫acm比赛成绩(多页成绩整合在一起、获取复制不了的数据)(hihocoder、计蒜客)
https://github.com/congmingyige/web-crawler_rank-of-competition-in-JiSuanKe-and-hihocoder 1. 计蒜客(获取复 ...
随机推荐
- EJB 使用多个数据源问题
编辑 删除 如果在JBoss中同时使用俩个数据源就会发生如下异常: Transaction is not active: tx=TransactionImple < ac, BasicActio ...
- web测试需要注意点
- TebsorFlow低阶API(五)—— 保存和恢复
简介 tf.train.Saver 类提供了保存和恢复模型的方法.通过 tf.saved_model.simple_save 函数可以轻松地保存适合投入使用的模型.Estimator会自动保存和恢复 ...
- uva1228 Integer Transmission
这道题思维很灵活.也有点套路的意思. 首先规定0,1分别按照原来的顺序接收,只是01换位.这样简化了思维.(否则并不会有更优结果它.,比较好想)最大值和最小值可以贪心得到.那么接下来就是给定一个整数P ...
- python导包一不小心就入坑(常用解决办法)
常见导包报错: - ImportError:No module named - SystemError: Parent module '' not loaded, cannot perform rel ...
- 常见的User-Agent
User_Agent = ["Mozilla/5.0 (iPod; U; CPU iPhone OS 4_3_2 like Mac OS X; zh-cn) AppleWebKit/533. ...
- docker使用阿里云镜像仓库docker
1:阿里云docker仓库 https://dev.aliyun.com/search.html 2:进去注册帐号后,点击自己的管理中心. 3:在管理中心点击加速器,右边面板会有你的加速地址,右边面板 ...
- 关于nagios系统下使用shell脚本自定义监控插件的编写以及没有实时监控图的问题
关于nagios系统下shell自定义监控插件的编写.脚本规范以及没有实时监控图的问题的解决办法 在自已编写监控插件之前我们首先需要对nagios监控原理有一定的了解 Nagios的功能是监控服务和主 ...
- laravel count distinct
$result->count(\DB::raw("distinct(material_id)"));
- Java学习关于集合框架的基础接口--Collection接口
集合框架(Collection Framework)是Java最强大的子系统之一,位于java.util 包中.集合框架是一个复杂的接口与和类层次,提供了管理对象组的最新技术.Java集合框架标准 ...