int main(int argc, char *argv[]) { assert(("Usage: ./3sat_seq [output path] [record_time file]") && argc == 3); openfiles(argv[1], argv[2]); int nClauses; int nVar; scanf("%d %d", &nClauses, &nVar); short **clauses = readClauses(nClauses, nVar); double st = omp_get_wtime(); long solution = solveClauses(clauses, nClauses, nVar); double ed = omp_get_wtime(); int i; if (solution >= 0) { printf("Solution found [%ld]: ", solution); fprintf(fout, "Solution found [%ld]: ", solution); for (i = 0; i < nVar; i++) { printf("%d ", (int) ((solution & (long) exp2(i)) / exp2(i))); fprintf(fout, "%d ", (int) ((solution & (long) exp2(i)) / exp2(i))); } printf("\n"); } else { printf("Solution not found.\n"); fprintf(fout, "Solution not found.\n"); } printf("take %.4lfs\n", ed - st); fprintf(ftime, "%.4lf\n", ed - st); closefiles(); return EXIT_SUCCESS; }
int main(int argc, char *argv[]) { int nClauses; int nVar; scanf("%d %d", &nClauses, &nVar); short **clauses = readClauses(nClauses, nVar); long solution = solveClauses(clauses, nClauses, nVar); int i; if (solution >= 0) { printf("Solution found [%ld]: ", solution); for (i = 0; i < nVar; i++) printf("%d ", (int) ((solution & (long) exp2(i)) / exp2(i))); printf("\n"); } else printf("Solution not found.\n"); return EXIT_SUCCESS; }