UVA-140 最小带宽 以后再补吧
来源:互联网 发布:电脑程序员图片 编辑:程序博客网 时间:2024/05/16 06:18
夭折的一题,应该用set来存储节点的
可参考代码链接
#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <iostream>#include <cmath>#include <vector>#include <algorithm>#include <map>#include <set>using namespace std;typedef long long ll;#define DEBUGconst int maxn=1000+5,maxv=26,INF=0x3f3f3f3f,mod=100000000;char s[maxn];int A[30],B[30],flow;int buf[30][30];int cnt=0,visited[30];void dfs(int cur,int cnt,int* A){ if(cur==cnt){ int temp=0; // printf("+++++++++fuck%d\n",flow); for(int i=0;i<cnt;i++){ for(int j=i;j<cnt;j++){ if(buf[A[i]][A[j]]) temp=max(temp,j-i); } } if(temp<flow){ for(int i=0;i<cnt;i++)B[i]=A[i]; // printf("%d\n",flow); flow=temp; // printf("---------fuck%d\n",flow); } else{ // printf("????\n"); } } for(int i=0;i<cnt;i++){ if(visited[i])continue; int flag=1; for(int j=0;j<cur;j++){ if(buf[A[j]][i]&&cur-j>=flow){flag=0;break;} } if(!flag)continue; visited[i]=1; A[cur]=i; dfs(cur+1,cnt,A); visited[i]=0; }}int main(){#ifdef DEBUG freopen("in.txt", "r", stdin); freopen("out.txt", "w", stdout);#endif while(cin.getline(s,1000),s[0]!='#'){ int len=strlen(s); int cnt=0; memset(buf,0,sizeof(buf)); memset(visited,0,sizeof(visited)); for(int i=0;i<len;i++){ if(s[i]==':'){ int t; for(int j=i-1;j>=0;j--)if(s[j]>='A'&&s[j]<='Z'){t=s[j]-'A';break;} if(!visited[t]){visited[t]=1;cnt++;} for(int j=i+1;s[j]!=';'&&j<len;j++){ // v[t].push_back(s[j]-'A'); int tt; if(s[j]>='A'&&s[j]<='Z'){tt=s[j]-'A';} else continue; if(!visited[tt]){visited[tt]=1;cnt++;} // printf("%d %d\n",t,tt ); buf[t][tt]=1; buf[tt][t]=1; } } } memset(visited,0,sizeof(visited)); flow=cnt; dfs(0,cnt,A); for(int i=0;i<cnt;i++)printf("%c ",B[i]+'A'); // for(int i=0;i<26;i++){ // for(int j=0;j<26;j++) // printf("%d ",buf[i][j]); // printf("\n"); // } printf("-> %d\n",flow); }#ifdef DEBUG fclose(stdin); fclose(stdout);#endif return 0;}
阅读全文
0 0
- UVA-140 最小带宽 以后再补吧
- uva 140 带宽
- uva 140 Bandwidth 带宽
- UVa 140 带宽
- 带宽(Bandwidth,UVa 140)
- UVA 140 Bandwidth (带宽)
- 140UVa带宽
- 带宽(Bandwidth,UVa 140
- UVA 140 带宽
- UVa 140 带宽 Bandwidth
- UVA-140 Bandwidth 带宽
- 最小带宽
- uva 140 带宽暴力减枝
- 计算最小带宽
- UVA 140 带宽 Bandwidth (暴力枚举+剪枝)
- 例题7-6 带宽(Bandwidth, UVa 140)
- 9月12日计算最小带宽
- 计算IF滤波器需要的最小带宽
- UVa12100
- C++朗读中文文本
- c++11多线程-problem1
- 跨域问题及其前后端解决办法
- 没有内购,却被拒
- UVA-140 最小带宽 以后再补吧
- BZOJ3218: A + B Problem
- HDU 6181 次短路
- Java GC 垃圾回收器的类型小结
- 暑假集训日记--8.24--树状数组+练习赛
- Python正则表达式
- hdu-6181 Two Paths次短路
- Maven 的初识、安装和配置
- 30种mysql优化sql语句查询的方法