Pagini recente » Cod sursa (job #11419) | Cod sursa (job #1233727) | Cod sursa (job #1588446) | Cod sursa (job #2903719) | Cod sursa (job #1608206)
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_N 100000
#define MAX_M 200000
int N,M;
int perechi[MAX_M][2];
int rezultat[MAX_N];
void citire_date(FILE *fisier)
{
int i;
fscanf(fisier,"%d",&N);
fscanf(fisier,"%d",&M);
for(i=0;i<M;i++)
{fscanf(fisier,"%d",&perechi[i][0]);
fscanf(fisier,"%d",&perechi[i][1]);}
}
int main()
{
FILE *fisier1,*fisier2;
int i;
fisier1=fopen("2sat.in","r");
fisier2=fopen("2sat.out","w");
citire_date(fisier1);
for(i=0;i<M;i++)
{
if(perechi[i][0]<0 && perechi[i][1]<0)
{rezultat[abs(perechi[i][0])]=1;
rezultat[abs(perechi[i][1])]=1;
}
else
if(perechi[i][0]<0 && perechi[i][1]>0)
{
rezultat[abs(perechi[i][0])]=1;
rezultat[abs(perechi[i][1])]=0;
}
else
if(perechi[i][0]>0 && perechi[i][1]<0)
{
rezultat[abs(perechi[i][0])]=0;
rezultat[abs(perechi[i][1])]=1;
}
else
if(perechi[i][0]>0 && perechi[i][1]>0)
{
rezultat[abs(perechi[i][0])]=0;
rezultat[abs(perechi[i][1])]=0;
}
}
for(i=0;i<N;i++)
fprintf(fisier2,"%d ",rezultat[i]);
return 0;
}