UVa 140 Bandwidth 例题7-6
来源:互联网 发布:公子无耻知乎 编辑:程序博客网 时间:2024/05/21 09:55
真不想吐槽CSDN,写完的博客发表时一堆乱码,哎,无语啊~~
第二次做,注意字符串的处理和剪枝。
#include<cstdio>#include<cstring>#include<cstdlib>#include<cmath>#include<algorithm>#define LL long longusing namespace std;char a[600];int b[30],map[30][30],fa,flag,cnt,maxn,ans;int save[10],node[10];int main(){ freopen("f.txt","r",stdin); while(gets(a)&&a[0]!='#'){ memset(map,0,sizeof(map)); memset(b,0,sizeof(b)); int len=strlen(a); flag=0; for(int i=0;i<len;i++){ if(a[i]>='A'&&a[i]<='Z'){ b[a[i]-'A']=1; } if(a[i]==':'){ fa=a[i-1]-'A'; flag=1; } else if(flag&&a[i]>='A'&&a[i]<='Z'){ map[a[i]-'A'][fa]=map[fa][a[i]-'A']=1; } else if(a[i]==';'){ flag=0; } } cnt=0; for(int i=0;i<27;i++){ if(b[i]) node[cnt++]=i; } maxn=10; do{ ans=0; for(int i=0;i<cnt;i++){ for(int j=i+1;j<cnt;j++){ if(map[node[i]][node[j]]&&abs(i-j)>ans) ans=abs(i-j); } if(ans>maxn)break; } if(maxn>ans){ maxn=ans; memcpy(save,node,sizeof(node)); } }while(next_permutation(node,node+cnt)); for(int i=0;i<cnt;i++) printf("%c ",save[i]+'A'); printf("-> %d\n",maxn); } return 0;}
0 0
- UVa #140 Bandwidth (例题7-6)
- UVa 140 Bandwidth 例题7-6
- 例题7-6 带宽(Bandwidth, UVa 140)
- 例题 7-6 UVA - 140 Bandwidth 带宽 (全排列暴力)
- 例题7-6 UVa140 Bandwidth(枚举+剪枝)
- Uva140 Bandwidth 【dfs回溯+剪枝】【例题7-6】
- UVa 140 - Bandwidth
- uva 140 - Bandwidth
- UVa 140 - Bandwidth
- uva 140 - Bandwidth
- UVa 140 - Bandwidth
- UVA 140 - Bandwidth
- UVa 140 - Bandwidth
- UVA 140 Bandwidth
- uva 140 Bandwidth
- uva 140 Bandwidth
- UVa:140 Bandwidth
- UVa 140 - Bandwidth
- 导航栏图标问题
- [Android UI界面] tab_Host页面跳转,传值,刷新等问题汇总。
- Rotate Array
- codeforces 399B Red and Blue Balls-数据-(模拟题找规律)
- [BZOJ1407][Noi2002]Savage
- UVa 140 Bandwidth 例题7-6
- 在代码中调用Xib
- 观察者模式
- [BZOJ1088][SCOI2005]扫雷Mine
- Kafka基本配置
- Reverse Bits
- 富爸爸,穷爸爸 读书笔记
- 科大讯飞平台接口的基本使用流程
- 点击一个标签中,某个文字,添加事件