poj 2530 Tetris Alphabet 拓扑排序
来源:互联网 发布:二叉树前序遍历算法 编辑:程序博客网 时间:2024/05/14 02:44
题意:
给一个俄罗斯方块的游戏截图,其中每个输入块都用字母A-Z标志出,求输入块的字典序最小的输入顺序。
分析:
即求字典序最小的拓扑序。
代码:
//poj 2530//sep9#include <iostream>using namespace std;char map[54][32];int g[32][32];int d[32];int vis[32];int main(){int n;scanf("%d",&n);memset(g,0,sizeof(g));memset(d,0,sizeof(d));memset(vis,0,sizeof(vis));for(int i=0;i<n;++i)scanf("%s",map[i]);for(int i=0;i<n;++i)for(int j=0;j<20;++j)if(map[i][j]!='.'){int u=map[i][j]-'A';vis[u]=1;for(int k=0;k<i;++k)if(map[k][j]!='.'&&map[k][j]!=map[i][j]){int v=map[k][j]-'A';if(g[u][v]==0){g[u][v]=1;++d[v];}}}int i,t;while(1){t=-1;for(i=0;i<26;++i)if(vis[i]==1&&d[i]==0&&t==-1){t=i;vis[i]=0;}if(t==-1)break;printf("%c",'A'+t);for(i=0;i<26;++i)if(g[t][i]==1&&vis[i])--d[i];}return 0;}
0 0
- poj 2530 Tetris Alphabet 拓扑排序
- POJ 2530Tetris Alphabet
- POJ 2530 Tetris Alphabet 笔记
- hdu1811 Rank of Tetris --- 拓扑排序
- 【拓扑排序】 HDOJ 1811 Rank of Tetris
- 拓扑排序 hdu1811 Rank of Tetris
- HDU-1811-Rank of Tetris【拓扑排序】
- Rank of Tetris (hdu 1811 拓扑排序)
- hdu 1811Rank of Tetris (并查集+拓扑排序)
- HDU 1811 Rank of Tetris(拓扑排序+并查集)
- HDU 1811 Rank of Tetris(拓扑排序+并查集)
- Rank of Tetris(hdu1811拓扑排序+并查集)
- hdu1811 Rank of Tetris (并查集+拓扑排序)
- hdu-1811-Rank of Tetris-并查集+拓扑排序
- hdu 1811 Rank of Tetris (并查集+拓扑排序)
- hdu 1811 Rank of Tetris (并查集 + 拓扑排序)
- HDU 1811 Rank of Tetris(并查集+拓扑排序)
- 【HDU】1811 Rank of Tetris 并查集+拓扑排序
- 什么时候使用Looper.prepare()
- javascript中数组化的一般见解
- linux中inode详解
- eclipse 中 svn 更新 提交 同步资源库 详细解释下他们的功能
- JavaScript代码组织结构良好的5个特点[reuqire.js]
- poj 2530 Tetris Alphabet 拓扑排序
- JavaScript内部原理系列-执行上下文(Execution Context)
- Linode 安装 Ubuntu 主机记录
- Android 之采用execSQL和rawQuery方法完成数据的添删改查操作 原生的查询和执行!!
- 初涉交互设计一
- 敏捷测试,TDD&ATDD
- Linux学习笔记:3.Linux文件系统
- NYOJ +-字符串
- 修改Tomcat默认访问路径conf