Cod sursa(job #1542485)

Utilizator wolvie00FII Costel Tuiu wolvie00 Data 5 decembrie 2015 13:47:49
Problema 2SAT Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1.27 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream fin("2sat.in");
ofstream fout("2sat.out");
int values[100];


int main()
{
    int n,m,x,y,i,nr=0;
    fin>>n>>m;
    fin>>x>>y;
    if(x<0 && y>0)
        values[-x]=0, values[y]=1;
    else
        if(x>0 && y>0)
            values[x]=0, values[y]=1;
        else
            if(x>0 && y<0)
                values[x]=0, values[-y]=1;
            else
                if(x<0 && y<0)
                    values[-x]=0, values[-y]=1;
    nr=1;
    if(nr && (!values[x] || values[y]))
        for(i=1;i<m;i++)
        {
            fin>>x>>y;
            if(values[x])
                if(x>0 && values[x] && y<0)
                    values[-y]=1;
                else
                    if(x<0 && values[x] && y>0)
                        values[y]=1;
                    else
                        if(x>0 && values[x] && y>0)
                            values[y]=1;
                        else
                            if(x<0 && values[x] && y<0)
                                values[-y]=1;
            if(nr && (values[x] || values[y]))
                nr=1;
        }
    if(nr)
        for(i=1;i<=n;i++)
            fout<<values[i]<<' ';
    fout.close();
    return 0;
}