[HDOJ 4948] Kingdom [图论+乱搞]
来源:互联网 发布:阿里云备案 编辑:程序博客网 时间:2024/06/05 05:56
已知一个图,任意两对点之间有且仅有一个无向边,没有自环。求一个序列,要求对于序列中任意一个点,其前边的所有点到它的距离都不超过2。
整个图中入度最大的点放在序列的最后...然后删除这个点再次进行这样的操作即可..每次找入读最大的点,放在现有序列的前边..
证明:设入读最大的点为u,有w1,w2,...,wr向其连边,若有一点v与其距离超过2,则v不可能向w1,w2,...,wr连边,即w1,w2,...,wr一定向v连边,然后v也不能向u连边,则u也向v连边,则v的入度至少为r+1。
#include <cstdio>int n;bool a[500][500];int in[500];int ans[500];int main() {int i,j;while (scanf("%d",&n),n) {for (i=0;i<n;i++) in[i]=0;for (i=0;i<n;i++)for (j=0;j<n;j++) {char c=getchar();while (c!='0'&&c!='1') c=getchar();if (c=='1') {a[i][j]=true;in[j]++;} else {a[i][j]=false;}}for (i=n-1;i>=0;i--) {int maxj=0;for (j=0;j<n;j++) if (in[j]>in[maxj]) maxj=j;ans[i]=maxj+1;in[maxj]=-1;for (j=0;j<n;j++) a[j][maxj]=false;for (j=0;j<n;j++) if (a[maxj][j]) {a[maxj][j]=false;in[j]--;}}for (i=0;i<n;i++) printf("%d ",ans[i]);printf("\n");}return 0;}
0 0
- [HDOJ 4948] Kingdom [图论+乱搞]
- HDOJ 4696 Answers 乱搞
- HDOJ 5499 SDOI (乱搞)
- hdoj 5583 Kingdom of Black and White
- HDOJ 5348 MZL's endless loop 乱搞
- HDOJ 题目5100 Chessboard(数学乱搞)
- HDOJ 5504 GT and sequence (乱搞)
- hdu 4948 Kingdom
- hdu 4948 Kingdom
- HDU 4948 Kingdom
- hdu 4948 kingdom
- 乱搞
- 乱搞
- HDOJ 1025 Constructing Roads In JGShining's Kingdom
- HDOJ 1025 Constructing Roads In JGShining's Kingdom
- hdoj 5583 Kingdom of Black and White 【模拟】
- HDOJ 1025 Constructing Roads In JGShining's Kingdom (DP)
- hdoj 1025 Constructing Roads In JGShining's Kingdom 【LIS】
- Hadoop-2.5.0在ubuntu12.04上的搭建
- 如何让struts2和servlet的共存
- linux学习 建立静态库,动态库,写简单的makefile
- 其实我一直都想对你说
- 如何在ActiveRecord自动化记录时间戳
- [HDOJ 4948] Kingdom [图论+乱搞]
- 使用事务时应该避免的陷井
- test
- opencv在fl2440上的移植
- poj 3368(RMQ简单应用)
- 【Html】鼠标移动上去变色&移动上去变小手
- 特殊的线性表-栈-链栈
- [Java]读取文件方法大全
- Git-远程仓库