烦人的交通Submit: 433 Accepted:256Time Limit: 1000MS Memory Limit: 1000K
Description
奥运会来了,北京的交通实在让人担忧,特别是交错复杂的立交桥 。真是让人眼花缭乱,所以聪明的你,要为交通部规划一种方案来简化这烦人的立交桥。
简化方案是,在任意两个地方都能通过立交桥到达的前提下,尽量减少桥的数量。
假设每条立交桥连接了两个不同的地方,并且立交桥是无向的。(注意:由于现有的立交桥是在太混乱,两个地方甚至有多条立交桥可到达 ――!)
Input
以下会给出1<=N<=1000个地方,0<=M<=500000000条立交桥,后面有m行,每行两个数a , b , 表示a , b两点相连(1 <= a , b <= N)。
你可以确定,给出的桥可以使任意两个地方都能通过立交桥到达。
Output
你需要输出需要删除多余的立交桥的数量。
Sample Input
5 7
4 5
1 2
1 3
1 4
2 3
2 4
3 4
Sample Output
3
Source
Wangkun
#include<iostream>
using namespace std;
int main()
{
int i,b,e,count=0,n,m;
int a[1001]; //A记录已经出现过的数字
for(i=0;i<1001;i++)
a[i]=0;
while(cin>>n>>m)
{
for(i=0;i<m;i++)
{
cin>>b>>e;
if(a[b]==0)
{
a[b]=1;
count++;
}
if(a[e]==0)
{
a[e]=1;
count++;
}
}
if(count<=n) //没有貌似也对~
cout<<"0"<<endl;
else
cout<<m-n+1<<endl;
}
return 0;
}
简单的:
#include<iostream>
using namespace std;
int main()
{
int i,b,e,count=0,n,m;
while(cin>>n>>m)
{
for(i=0;i<m;i++)
{
cin>>b>>e;
}
cout<<m-n+1<<endl;
}
return 0;
}
这也能AC。。。。