1 solutions
-
0
C++ :
#include<cstdio> #include<cmath> #include<cstring> #include<iostream> using namespace std; int mapp[17][17]; int main() { int t; scanf("%d",&t); int n,m; while(t--) { scanf("%d%d",&n,&m); if(n==0) { printf("0\n"); continue; } int u,v; for(int i=0;i<m;i++) { for(int j=0;j<n;j++) mapp[i][j]=0; } for(int i=0;i<m;i++) { scanf("%d%d",&u,&v); if(u>v) swap(u,v); mapp[u][v]++; } int maxx=1<<n; int res=0x7fffffff; int flag[20]; for(int i=0;i<maxx;i++) { memset(flag,0,sizeof(flag)); for(int j=0;j<n;j++) { if(i&(1<<j)) flag[j]=1; } int tmp=0; for(int j=0;j<n;j++) { for(int k=j+1;k<n;k++) { if(flag[k]==flag[j]) tmp+=mapp[j][k]; } } res=min(res,tmp); } printf("%d\n",res); } return 0; }
- 1
Information
- ID
- 16713
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By