七 Mega Man's Mission

Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu

 #include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std; long long dp[];
int enemy[],weapons[]; int main()
{
int T,ca=;
int n,mega;
char s[];
int i,j,k;
scanf("%d",&T);
while(T--)
{
mega=;
memset(dp,,sizeof(dp));
memset(enemy,,sizeof(enemy));
memset(weapons,,sizeof(weapons)); scanf("%d",&n);
scanf("%s",s);
for(i=;i<n;i++)
{
if(s[i]=='')
{
mega=mega | ( << i);
}
}
for(i=;i<n;i++)
{
scanf("%s",s);
for(j=;j<n;j++)
{
if(s[j]=='')
{
enemy[i]=enemy[i] | ( << j);
}
}
}
for(i=;i<( << n);i++)
{
weapons[i]=mega;
for(j=;j<n;j++)
{
if(i & <<j)
{
weapons[i]=weapons[i] | enemy[j];
}
}
} dp[]=;
for(i=;i<(<<n);i++)
{
if(dp[i] == ) continue;
for(j=;j<n;j++)
{
if((weapons[i] & (<<j))!= && (i & (<<j))==)
dp[i | (<<j)]=dp[i | (<<j)]+dp[i];
}
} printf("Case %d: %lld\n",++ca,dp[(<<n)-]);
}
return ;
}

UVA 11795 七 Mega Man's Mission的更多相关文章

  1. 状压DP UVA 11795 Mega Man's Mission

    题目传送门 /* 题意:洛克人有武器可以消灭机器人,还可以从被摧毁的机器人手里得到武器,问消灭全部机器人的顺序总数 状态压缩DP:看到数据只有16,就应该想到状压(并没有).因为是照解题报告写的,代码 ...

  2. UVA - 11795 Mega Man's Mission

    Mega Man is off to save the world again. His objective is to kill the Robots created by Dr. Wily who ...

  3. UVa 11795 Mega Man's Mission (状压DP)

    题意:你最初只有一个武器,你需要按照一定的顺序消灭n个机器人(n<=16).每消灭一个机器人将会得到他的武器. 每个武器只能杀死特定的机器人.问可以消灭所有机器人的顺序方案总数. 析:dp[s] ...

  4. UVa 11795 状压DP Mega Man's Mission

    kill[S]表示消灭机器人的集合为S,剩下的所能杀死的机器人集合. 设d(S)表示杀死机器人集合为S的方法数,答案为d((1<<n) - 1). d(S)可以由d(S')转移过来,其中S ...

  5. UVA Mega Man's Mission(状压dp)

    把消灭了那些机器人作为状态S,预处理出状态S下可以消灭的机器人,转移统计方案.方案数最多16!,要用64bit保存方案. #include<bits/stdc++.h> using nam ...

  6. UVA 11795

    B Mega Man’s Missions Input Standard Input Output Standard Output Mega Man is off to save the world ...

  7. UVA11795 Mega Man's Mission

    状压dp #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> ...

  8. 【状压DP】【UVA11795】 Mega Man's Mission

    传送门 Description 你要杀n个怪,每杀掉一个怪那个怪会掉落一种武器,这种武器可以杀死特定的怪.游戏初始你有一把武器,能杀死一些怪物.每次只能杀一只,求有多少种杀怪方法. Input 多组数 ...

  9. UVA - 11795 状压DP

    #include<iostream> #include<algorithm> #include<cstdio> #include<cstring> #i ...

随机推荐

  1. CDC

    CDC中最重要的问题是metastability问题. 加入Synchronizer来进行异步时钟的同步,两级的Sync,第二级仍然会出现亚稳态的概率由MTBF决定. MTBF:mean time b ...

  2. Deep learning的一些教程 (转载)

    几个不错的深度学习教程,基本都有视频和演讲稿.附两篇综述文章和一副漫画.还有一些以后补充. Jeff Dean 2013 @ Stanford http://i.stanford.edu/infose ...

  3. 在desk于webi中资料查询不一致

    1,首先检查是否勾选重复列,重复列造成 2,缓存

  4. 解决PHP在IE浏览器下载文件,中文文件名乱码问题

    前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UT ...

  5. 最长上升子序列O(nlogn)算法详解

    最长上升子序列 时间限制: 10 Sec   内存限制:128 MB 题目描述 给定一个序列,初始为空.现在我们将1到N的数字插入到序列中,每次将一个数字插入到一个特定的位置.我们想知道此时最长上升子 ...

  6. SpringMVC @RequestBody接收Json对象字符串 demo

    springmvc 的这个 @RequestBody 用得比较少,今天看了一下,还是很方便. @RequestBody 接收类似 [{name: "test"}, {name: & ...

  7. oracle sql获取随机数

    SQL> select round(dbms_random.value(10000,99999)) num from dual;

  8. visio 由于形状保护和/或图层属性设置不能进行编辑

    方式一.菜单栏 --> 格式 --> 保护 方式二.用鼠标右键单击组件, 格式 --> 保护 . 转自:http://blog.163.com/chen_dawn/blog/stat ...

  9. AVAudioplayer时error解决 创建失败 ERror creating player: Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"

    AVAudioplayer 有两个初始化方法: 1.[[AVAudioPlayer alloc] initWithData:musicData error&e]; 2.[[AVAudioPla ...

  10. Hive报错之java.sql.SQLException: Field 'IS_STOREDASSUBDIRECTORIES' doesn't have a default value

    在创建表的时候报出如下错误: hive> create table if not exists testfile_table( > site string, > url string ...