UVA-1220 Party at Hali-Bula
2015-12-08 00:19
323 查看
Brief description
略
Algorithm analyse
最大独立集的基础上加上一个判断唯一化。
思路紫书写得很好了。
重点是学习思维方式。
Code
略
Algorithm analyse
最大独立集的基础上加上一个判断唯一化。
思路紫书写得很好了。
重点是学习思维方式。
Code
#include <iostream> #include <map> #include <algorithm> #include <cstdio> #include <cstring> #include <cstdlib> #include <vector> #include <queue> #include <stack> #include <functional> #include <set> #include <cmath> using namespace std; #define pb push_back #define PB pop_back #define bk back() #define fs first #define se second #define sq(x) (x)*(x) #define eps (1e-10) #define INF (0x3f3f3f3f) #define clr(x) memset((x),0,sizeof (x)) #define cp(a,b) memcpy((a),(b),sizeof (b)) typedef long long ll; typedef unsigned long long ull; typedef pair<int,int> P; const int maxn=205; map<string,int> emp; set<string> s; int fa[maxn]; int vis[maxn]; int d[maxn][2],f[maxn][2]; int T; void init() { emp.clear(); s.clear(); clr(vis); clr(d); for(int i=0;i<maxn;i++) for(int j=0;j<2;j++) f[i][j]=1; } void dfs(int t) { vis[t]=1; for(int i=0;i<T;i++) { if(!vis[i]&&fa[i]==t) { dfs(i); d[t][1]+=d[i][0]; if(f[t][1]!=0) f[t][1]=f[i][0]; d[t][0]+=max(d[i][0],d[i][1]); if(d[i][0]==d[i][1]) f[t][0]=0; if(d[t][0]==d[i][1]&&f[i][1]==0) f[t][0]=0; if(d[t][0]==d[i][0]&&f[i][0]==0) f[t][0]=0; } } d[t][1]+=1; } int main() { while(scanf("%d",&T)&&T) { init(); string boss; cin>>boss; emp[boss]=0; s.insert(boss); int ans=1; for(int i=1;i<=T-1;i++) { string a,b; cin>>a>>b; if(!s.count(a)) { s.insert(a); emp[a]=ans++; } if(!s.count(b)) { s.insert(b); emp[b]=ans++; } fa[emp[a]]=emp[b]; } dfs(0); if(d[0][0]>d[0][1]) { if(f[0][0]) printf("%d Yes\n",d[0][0]); else printf("%d No\n",d[0][0]); } else if(d[0][0]==d[0][1]) { printf("%d No\n",d[0][0]); } else { if(f[0][1]) printf("%d Yes\n",d[0][1]); else printf("%d No\n",d[0][1]); } } return 0; }
相关文章推荐
- Memcached 笔记与总结(9)Memcached 与 Session
- poj1459 Power Network
- apk更新、下载、安装(三)---DownloadManager ui方式【有卡顿bug】
- C#单例模式的泛型定义
- android真机调试看不到logcat信息
- Swift中的元组(turple)
- 方法的参数传递机制
- 基于HTML5的WebGL结合Box2DJS物理引擎应用
- python 批量下载图片
- 实验报告(实验四)
- 深夜喂一口鸡汤
- poj-2342Anniversary party
- JS字符串false转boolean
- 单词识别 c++ primer plus 第六章变成练习 第7题
- linux进程间的网络通信
- 学习数据结构好的博客
- .NET AutoCAD二次开发之路(二、直线篇)
- 红黑树
- 10007---AngularJS 控制器
- HP ProLiant BL460c Gen8 服务器部署手记