NBUT 1554 Lord of Minecraft
来源:互联网 发布:尚学堂java马士兵全套 编辑:程序博客网 时间:2024/04/26 11:58
比赛的时候数据错了、、好坑爹、越想越复杂、、、→_→
其实就是一次BFS求出层次图、然后判断、、、
#include<stdio.h>#include<string.h>#include<string>#include<map>#include<queue>#include<algorithm>using namespace std;#define INF 0x7fffffff#define LL long long intint n,m;const int N=10005;int k;struct node{ int to,next,val;}edge[N];int head[N];int level[N];void init(){ k=0; memset(head,-1,sizeof(head));}void add(int x,int y,int val){ edge[k].to=y; edge[k].val=val; edge[k].next=head[x]; head[x]=k++;}void bfs(int start){ queue<int>q; level[1]=1; q.push(1); while(!q.empty()) { int now=q.front(); q.pop(); for(int i=head[now];i!=-1;i=edge[i].next) { int s=edge[i].to; level[s]=level[now]+1; q.push(s); } }}int main(){ while(scanf("%d%d",&n,&m)!=EOF) { map<string,int>M; M["Hungar"]=1; char str1[15]; char str2[15]; int cnt=2; init(); for(int i=1;i<=n;i++) { scanf("%s%s",str1,str2); if(M[str1]==0)M[str1]=cnt++; if(M[str2]==0)M[str2]=cnt++; add(M[str2],M[str1],1); } bfs(1); int ans=0; for(int i=1;i<=m;i++) { scanf("%s%s",str1,str2); if(level[M[str1]]<=level[M[str2]])ans++; } printf("%d\n",ans); } return 0;}
0 0
- NBUT 1554 Lord of Minecraft
- NBUT 1554 Lord of Minecraft
- [noj 1554] Lord of Minecraft
- NBUT Minecraft Server Bug
- NBUT 1552 Minecraft Server Bug
- NBUT 2014 校赛 (Minecraft专场)
- The Lord Of The Rings
- 今天看了the lord of king
- 搜索 HOJ 1226 Lord of the Ring
- Meaning Of Names In The Lord Of The Ring
- NBUT 1557 Team of Slime
- Minecraft
- Minecraft
- NBUT
- NBUT
- NBUT
- NBUT
- NBUT
- hibernate的一些优化策略
- JavaWeb 容器与组件
- 一道几何题
- 可合并优先队列 HDU 1512 Monkey King
- 九度题目1342:寻找最长合法括号序列II
- NBUT 1554 Lord of Minecraft
- weblogic管理1——创建 和 删除一个domain
- cocos2d-x 3.0来做一个简单的游戏教程 win32平台 vs2012 详细解释献给初学者们!
- iOS6新特征:UIRefreshControl[下拉刷新]使用示例
- IOS中标签视图和Block
- 打包jar的MANIFEST.MF的写法
- C++可以用的计算程序运行时间的方法
- Jpcap安装教程
- 用ajax json给后台action传数据要注意的问题