Cod sursa(job #22221)

Utilizator pocaituDavid si Goliat pocaitu Data 25 februarie 2007 22:50:39
Problema Triplete Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include<fstream.h>
int long a,b,n,k,d;
int long m,i,j,t;
long long c,nr,l[4099][70];
int min(int x,int y)
{if(x<y)
  return x;
 return y;
 }
int main()
{int ma[65556][2];
 ifstream f("triplete.in");
 f>>n>>m;
 for(i=1;i<=m;i++)
  {f>>a>>b;
   ma[++k][0]=a;
   ma[k][1]=b;
   l[a][b/60]|=(1<<(b%60));
   l[b][a/60]|=(1<<(a%60));
   }
for(i=1;i<=k;i++)
  for(j=0;j<=min(ma[i][0],ma[i][1])/60;j++)
	  {c=l[ma[i][0]][j]&l[ma[i][1]][j];
	   if(j==min(ma[i][0],ma[i][1])/60)
		 t=min(ma[i][0],ma[i][1])%60;
	   else
		 t=60;
	   for(d=0;d<=t;d++)
		 if(c&(1<<d))
		   nr++;
	   }


 ofstream g("triplete.out");
g<<nr;
g.close();
return 0;
}