結果
問題 | No.5005 3-SAT |
ユーザー | titan23 |
提出日時 | 2022-06-24 12:54:49 |
言語 | C++17(clang) (17.0.6 + boost 1.83.0) |
結果 |
AC
|
実行時間 | 1,958 ms / 2,000 ms |
コード長 | 1,898 bytes |
コンパイル時間 | 200,308 ms |
実行使用メモリ | 3,548 KB |
スコア | 739 |
最終ジャッジ日時 | 2022-07-31 03:17:39 |
合計ジャッジ時間 | 201,010 ms |
ジャッジサーバーID (参考情報) |
judge14 / judge13 |
純コード判定しない問題か言語 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1,938 ms
3,432 KB |
testcase_01 | AC | 1,936 ms
3,368 KB |
testcase_02 | AC | 1,957 ms
3,368 KB |
testcase_03 | AC | 1,935 ms
3,364 KB |
testcase_04 | AC | 1,938 ms
3,472 KB |
testcase_05 | AC | 1,950 ms
3,364 KB |
testcase_06 | AC | 1,933 ms
3,452 KB |
testcase_07 | AC | 1,955 ms
3,396 KB |
testcase_08 | AC | 1,935 ms
3,472 KB |
testcase_09 | AC | 1,932 ms
3,440 KB |
testcase_10 | AC | 1,955 ms
3,368 KB |
testcase_11 | AC | 1,933 ms
3,436 KB |
testcase_12 | AC | 1,932 ms
3,472 KB |
testcase_13 | AC | 1,956 ms
3,404 KB |
testcase_14 | AC | 1,932 ms
3,404 KB |
testcase_15 | AC | 1,956 ms
3,428 KB |
testcase_16 | AC | 1,933 ms
3,440 KB |
testcase_17 | AC | 1,931 ms
3,436 KB |
testcase_18 | AC | 1,955 ms
3,376 KB |
testcase_19 | AC | 1,936 ms
3,484 KB |
testcase_20 | AC | 1,931 ms
3,492 KB |
testcase_21 | AC | 1,958 ms
3,424 KB |
testcase_22 | AC | 1,910 ms
3,364 KB |
testcase_23 | AC | 1,911 ms
3,428 KB |
testcase_24 | AC | 1,910 ms
3,436 KB |
testcase_25 | AC | 1,909 ms
3,452 KB |
testcase_26 | AC | 1,910 ms
3,544 KB |
testcase_27 | AC | 1,909 ms
3,476 KB |
testcase_28 | AC | 1,909 ms
3,428 KB |
testcase_29 | AC | 1,912 ms
3,436 KB |
testcase_30 | AC | 1,909 ms
3,440 KB |
testcase_31 | AC | 1,909 ms
3,396 KB |
testcase_32 | AC | 1,911 ms
3,504 KB |
testcase_33 | AC | 1,910 ms
3,452 KB |
testcase_34 | AC | 1,909 ms
3,400 KB |
testcase_35 | AC | 1,911 ms
3,392 KB |
testcase_36 | AC | 1,909 ms
3,444 KB |
testcase_37 | AC | 1,910 ms
3,364 KB |
testcase_38 | AC | 1,932 ms
3,368 KB |
testcase_39 | AC | 1,909 ms
3,448 KB |
testcase_40 | AC | 1,909 ms
3,368 KB |
testcase_41 | AC | 1,909 ms
3,532 KB |
testcase_42 | AC | 1,910 ms
3,436 KB |
testcase_43 | AC | 1,909 ms
3,392 KB |
testcase_44 | AC | 1,911 ms
3,484 KB |
testcase_45 | AC | 1,909 ms
3,368 KB |
testcase_46 | AC | 1,909 ms
3,396 KB |
testcase_47 | AC | 1,912 ms
3,440 KB |
testcase_48 | AC | 1,910 ms
3,436 KB |
testcase_49 | AC | 1,910 ms
3,368 KB |
testcase_50 | AC | 1,909 ms
3,440 KB |
testcase_51 | AC | 1,909 ms
3,436 KB |
testcase_52 | AC | 1,910 ms
3,400 KB |
testcase_53 | AC | 1,910 ms
3,436 KB |
testcase_54 | AC | 1,911 ms
3,428 KB |
testcase_55 | AC | 1,910 ms
3,368 KB |
testcase_56 | AC | 1,909 ms
3,396 KB |
testcase_57 | AC | 1,909 ms
3,476 KB |
testcase_58 | AC | 1,909 ms
3,364 KB |
testcase_59 | AC | 1,909 ms
3,364 KB |
testcase_60 | AC | 1,917 ms
3,436 KB |
testcase_61 | AC | 1,911 ms
3,368 KB |
testcase_62 | AC | 1,911 ms
3,396 KB |
testcase_63 | AC | 1,910 ms
3,440 KB |
testcase_64 | AC | 1,910 ms
3,504 KB |
testcase_65 | AC | 1,910 ms
3,368 KB |
testcase_66 | AC | 1,909 ms
3,368 KB |
testcase_67 | AC | 1,908 ms
3,436 KB |
testcase_68 | AC | 1,909 ms
3,376 KB |
testcase_69 | AC | 1,909 ms
3,364 KB |
testcase_70 | AC | 1,910 ms
3,440 KB |
testcase_71 | AC | 1,909 ms
3,428 KB |
testcase_72 | AC | 1,909 ms
3,428 KB |
testcase_73 | AC | 1,908 ms
3,376 KB |
testcase_74 | AC | 1,910 ms
3,428 KB |
testcase_75 | AC | 1,910 ms
3,452 KB |
testcase_76 | AC | 1,909 ms
3,536 KB |
testcase_77 | AC | 1,910 ms
3,432 KB |
testcase_78 | AC | 1,908 ms
3,500 KB |
testcase_79 | AC | 1,910 ms
3,396 KB |
testcase_80 | AC | 1,909 ms
3,476 KB |
testcase_81 | AC | 1,911 ms
3,500 KB |
testcase_82 | AC | 1,909 ms
3,476 KB |
testcase_83 | AC | 1,911 ms
3,448 KB |
testcase_84 | AC | 1,910 ms
3,424 KB |
testcase_85 | AC | 1,910 ms
3,544 KB |
testcase_86 | AC | 1,910 ms
3,428 KB |
testcase_87 | AC | 1,909 ms
3,548 KB |
testcase_88 | AC | 1,910 ms
3,396 KB |
testcase_89 | AC | 1,909 ms
3,392 KB |
testcase_90 | AC | 1,908 ms
3,364 KB |
testcase_91 | AC | 1,911 ms
3,480 KB |
testcase_92 | AC | 1,909 ms
3,444 KB |
testcase_93 | AC | 1,910 ms
3,432 KB |
testcase_94 | AC | 1,910 ms
3,428 KB |
testcase_95 | AC | 1,909 ms
3,532 KB |
testcase_96 | AC | 1,911 ms
3,424 KB |
testcase_97 | AC | 1,911 ms
3,476 KB |
testcase_98 | AC | 1,910 ms
3,428 KB |
testcase_99 | AC | 1,910 ms
3,392 KB |
ソースコード
#include <bits/stdc++.h> using namespace std; #pragma GCC target("avx2") #pragma GCC opTimize("O3") #pragma GCC opTimize("unroll-loops") static const int STIME = clock(); static const int TIME_LIMIT = 1900000; random_device rnd; mt19937 mt(rnd()); uniform_int_distribution<> rand2047(0, 2047); int A[2048][6]; int li[2048][2]; void calc_li() { for (int i = 0; i < 2048; ++i) { for (int j = 0; j < 3; ++j) { if (A[i][j+3] == 0) li[A[i][j]][0]++; if (A[i][j+3] == 1) li[A[i][j]][1]++; } } return; } vector<int> make_ans_init() { vector<int> ans(2048, -1); for (int i = 0; i < 2048; ++i) { bool flag = true; for (int j = 0; j < 3; ++j) { if (ans[A[i][j]] != -1) { flag = false; break; } } if (flag == false) break; for (int j = 0; j < 3; ++j) { ans[A[i][j]] = A[i][j+3]; } } for (int i = 0; i < 2048; ++i) { if (ans[i] == -1) { if (li[i][0] < li[i][1]) { ans[i] = 1; } else{ ans[i] = 0; } } } return ans; } int eval_ans(vector<int> &ans) { int ret = 0; for (int i = 0; i < 2048; ++i) { if (ans[A[i][0]] == A[i][3] && ans[A[i][1]] == A[i][4] && ans[A[i][2]] == A[i][3]) { ++ret; } } return ret; } vector<int> make_ans_yama(vector<int> ans) { for (int i = 0; i < 5; ++i) { int indx = rand2047(mt); ans[indx] = 1 - ans[indx]; } return ans; } void solve() { calc_li(); vector<int> ans = make_ans_init(); int vestscore = eval_ans(ans); while (clock() - STIME < TIME_LIMIT) { vector<int> nans = make_ans_yama(ans); int score = eval_ans(nans); if (score > vestscore) { vestscore = score; ans = nans; } } for (int i = 0; i < 2048; ++i) { cout << ans[2048-i-1]; } cout << "\n"; return; } int main() { ios::sync_with_stdio(false); cin.tie(0); solve(); return 0; }