hdu 4068 福州赛区网络赛H 排列 ***
拍的太慢了,很不满意
排完序之后,枚举自己和对手状态,若被击败,则再枚举自己下一个策略,直到可以击败对手所有的策略
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>
#include<cmath>
#include<queue>
#include<map>
using namespace std;
#define MOD 1000000007
const int INF=0x3f3f3f3f;
const double eps=1e-;
typedef long long ll;
#define cl(a) memset(a,0,sizeof(a))
#define ts printf("*****\n");
const int MAXN=;
int n,m,tt;
int g[][];
int a1[]={,,,,,,};
int a2[]={,,,,,,};
bool check()
{
int t1=;
int t2=;
bool flag=;
while()
{
if(g[a2[t2]][a1[t1]])
{
t1++;
}
else t2++;
if(t1==n)
{
flag=;
break;
}
if(t2==n)
{
flag=;
break;
}
}
if(!flag) return ;
else return ;
}
int main()
{
int i,j,k,ca=;
#ifndef ONLINE_JUDGE
freopen("1.in","r",stdin);
#endif
scanf("%d",&tt);
while(tt--)
{
printf("Case %d: ",ca++);
map<string,int> mp1;
map<int,string> mp2;
scanf("%d",&n);
string s[];
for(i=;i<n;i++)
{
cin>>s[i];
}
sort(s,s+n);
for(i=;i<n;i++)
{
mp1[s[i]]=i;
mp2[i]=s[i];
}
cl(g);
string sw;
for(i=;i<n;i++)
{
int num;
scanf("%d",&num);
for(j=;j<num;j++)
{
cin>>sw;
int v=mp1[sw];
g[i][v]=; //有克制关系
}
}
for(i=;i<;i++) a1[i]=i,a2[i]=i;
bool flag=;
bool w=;
while()
{
flag=;
while()
{
if(!check()) //该策略被击败
{
flag=;
}
if(!next_permutation(a2,a2+n)) break;
}
if(flag)
{
w=;
break;
}
if(!next_permutation(a1,a1+n)) break;
}
if(w)
{
printf("Yes\n");
cout<<mp2[a1[]];
for(i=;i<n;i++)
{
cout<<" "<<mp2[a1[i]];
}
printf("\n");
}
else
{
printf("No\n");
}
}
}
hdu 4068 福州赛区网络赛H 排列 ***的更多相关文章
- hdu 4069 福州赛区网络赛I DLC ***
再遇到一个DLC就刷个专题 #include <stdio.h> #include <string.h> #include <iostream> #include ...
- hdu 4063 福州赛区网络赛 圆 ****
画几个图后,知道路径点集一定是起点终点加上圆与圆之间的交点,枚举每两个点之间是否能走,能走则连上线,然后求一遍最短路即可 #include<cstdio> #include<cstd ...
- hdu 4061 福州赛区网络赛A 数学 ***
a1/sum #include<cstdio> #include<iostream> #include<algorithm> #include<cstring ...
- hdu 4070 福州赛区网络赛J 贪心 ***
优先发路程最长的 #include<cstdio> #include<iostream> #include<algorithm> #include<cstri ...
- hdu 4038 2011成都赛区网络赛H 贪心 ***
贪心策略 1.使负数为偶数个,然后负数就不用管了 2.0变为1 3.1变为2 4.2变为3 5.若此时操作数剩1,则3+1,否则填个1+1,然后回到5
- hdu 4028 2011上海赛区网络赛H dp+map离散
一开始用搜索直接超时,看题解会的 #include<iostream> #include<cstdio> #include<map> #include<cst ...
- Skiing 2017 ACM-ICPC 亚洲区(乌鲁木齐赛区)网络赛H题(拓扑序求有向图最长路)
参考博客(感谢博主):http://blog.csdn.net/yo_bc/article/details/77917288 题意: 给定一个有向无环图,求该图的最长路. 思路: 由于是有向无环图,所 ...
- HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011亚洲北京赛区网络赛)
HDU 4041 Eliminate Witches! (模拟题 ACM ICPC 2011 亚洲北京赛区网络赛题目) Eliminate Witches! Time Limit: 2000/1000 ...
- HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛)
HDU 4046 Panda (ACM ICPC 2011北京赛区网络赛) Panda Time Limit: 10000/4000 MS (Java/Others) Memory Limit: ...
随机推荐
- EXTJS动态改变store的proxy的params
动态改变store的条件参数.var store = win.down('grid[name=sourceGrid]').getStore(); Ext.apply(store.proxy.extra ...
- 新型序列化类库MessagePack,比JSON更快、更小的格式
MessagePack is an efficient binary serialization format. It lets you exchange data among multiple la ...
- Sum of Left Leaves
Find the sum of all left leaves in a given binary tree. Example: 3 / \ 9 20 / \ 15 7 There are two l ...
- ECharts分析xdebug跟踪日志
2015年12月23日 15:36:11 星期三 之前用的是国外的图表工具, 有点麻烦, 文档是英文的, 看着不顺眼, 发现了百度出品的ECharts, 文档比较全, 功能比较多, 做出的图也比较好看 ...
- 2. javacript高级程序设计-在HTML中使用JavaScript
1.1 <script>元素 向HTML页面中插入JavaScript的主要方法,就是使用<script>元素,<script>元素定义了一下6个元素: (1). ...
- pgbouncer介绍
一.Pgbouncer 的介绍 Pgbouncer是一个针对PostgreSQL数据库的轻量级连接池,任何目标应用都可以把 pgbouncer 当作一个 PostgreSQL 服务器来连接,然后pgb ...
- Valentine's Day Round 1001.Ferries Wheel(hdu 5174)解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5174 题目意思:给出 n 个人坐的缆车值,假设有 k 个缆车,缆车值 A[i] 需要满足:A[i−1] ...
- 【el表达式】jsp中设置默认图像
<img alt="头像" src="${empty members.headPic ?'images/icon.png':members.headPic}&quo ...
- UUID UDID
Google搜索关键字Difference between UUID and UDID,在stackoverflow看见解释,我翻译过来,如下所述. UUID(Universally Unique I ...
- IOS-UIIamge初始化的几种方法的比较
一.imageNamed——方法介绍imageNamed:是UIImage的一个类方法,它做的事情比我们看到的要稍微多一些.它的加载流程如 下:1.系统回去检查系统缓存中是否存在该名字的图像,如果存在 ...