Pagini recente » Cod sursa (job #2884367) | Cod sursa (job #1808694) | Cod sursa (job #1761995) | Profil andrei_georgescu | Cod sursa (job #1590890)
#include<iostream>
#include<fstream>
using namespace std;
ifstream f("dsf.in");
ofstream g("dsf.out");
int i,j,r,a[100000],v[100000],k,n,m,e;
int main()
{f>>n>>m;
for(i=1;i<=m;i++)
{k++;
f>>v[k];
k++;
f>>v[k];
if(a[v[k-1]]==a[v[k]]&& a[v[k]]==0)
{r++;
a[v[k]]=r;
a[v[k-1]]=r;}
else
{if(a[v[k]]<a[v[k-1]]&&a[v[k]]!=0)
{for(j=1;j<=k;j++)
{if(a[v[j]]==a[v[k-1]])
a[v[j]]=a[v[k]];
if(a[v[j]]>a[v[k-1]])
a[v[j]]--;}}
else
{if(a[v[k]]==0)
a[v[k]]=a[v[k-1]];
else
if(a[v[k-1]]==0)
a[v[k-1]]=a[v[k]];}}}
for(i=1;i<=n;i++)
if(a[i]==0)
e++;
g<<r+e;}