cf B. Road Construction
http://codeforces.com/contest/330/problem/B
这道题可以围着一个可以与任何一个城市建路的城市建设。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 bool g[1001][1001]; 7 int in[1001]; 8 int main() 9 { 10 int n,m,a,b; 11 scanf("%d%d",&n,&m); 12 memset(in,0,sizeof(in)); 13 for(int i=0; i<m; i++) 14 { 15 scanf("%d%d",&a,&b); 16 g[a][b]=g[b][a]=1; 17 in[a]++; 18 in[b]++; 19 } 20 int c=1; 21 printf("%d\n",n-1); 22 for(int i=1; i<=n; i++) 23 { 24 if(in[c]>in[i]) c=i; 25 } 26 for(int i=1; i<=n; i++) 27 { 28 if(c!=i&&g[c][i]==0) 29 { 30 printf("%d %d\n",c,i); 31 } 32 } 33 return 0; 34 }