Submission #5739350


Source Code Expand

#include <bits/stdc++.h>
#define REP(i, n) for (int i = 0; (i) < (int)(n); ++ (i))
#define REP3(i, m, n) for (int i = (m); (i) < (int)(n); ++ (i))
#define REP_R(i, n) for (int i = (int)(n) - 1; (i) >= 0; -- (i))
using namespace std;

constexpr int MAX_N = 2000;
int solve(int n, const vector<bitset<MAX_N> > & wins) {
    vector<bitset<MAX_N> > dpl(n);
    vector<bitset<MAX_N> > dpr(n);
    REP_R (l, n) REP3 (r, l, n) {
        if (l == r) {
            dpl[r][l] = true;
            dpr[l][r] = true;
        } else {
            dpl[r][l] = (wins[l] & dpr[l + 1] & dpl[r]).any();
            dpr[l][r] = (wins[r] & dpr[l] & dpl[r - 1]).any();
        }
    }
    return (dpr[0] & dpl[n - 1]).count();
}

int main() {
    int n; cin >> n;
    assert (n <= MAX_N);
    vector<bitset<MAX_N> > wins(n);
    REP (i, n) {
        REP (j, i) {
            char c; cin >> c;
            wins[i][j] = c - '0';
            wins[j][i] = not wins[i][j];
        }
    }
    cout << solve(n, wins) << endl;
    return 0;
}

Submission Info

Submission Time
Task F - Random Tournament
User kimiyuki
Language C++14 (GCC 5.4.1)
Score 1000
Code Size 1014 Byte
Status AC
Exec Time 517 ms
Memory 1792 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 1000 / 1000
Status
AC × 2
AC × 76
Set Name Test Cases
Sample example0.txt, example1.txt
All 000.txt, 001.txt, 002.txt, 003.txt, 004.txt, 005.txt, 006.txt, 007.txt, 008.txt, 009.txt, 010.txt, 011.txt, 012.txt, 013.txt, 014.txt, 015.txt, 016.txt, 017.txt, 018.txt, 019.txt, 020.txt, 021.txt, 022.txt, 023.txt, 024.txt, 025.txt, 026.txt, 027.txt, 028.txt, 029.txt, 030.txt, 031.txt, 032.txt, 033.txt, 034.txt, 035.txt, 036.txt, 037.txt, 038.txt, 039.txt, 040.txt, 041.txt, 042.txt, 043.txt, 044.txt, 045.txt, 046.txt, 047.txt, 048.txt, 049.txt, 050.txt, 051.txt, 052.txt, 053.txt, 054.txt, 055.txt, 056.txt, 057.txt, 058.txt, 059.txt, 060.txt, 061.txt, 062.txt, 063.txt, 064.txt, 065.txt, 066.txt, 067.txt, 068.txt, 069.txt, 070.txt, 071.txt, 072.txt, 073.txt, example0.txt, example1.txt
Case Name Status Exec Time Memory
000.txt AC 11 ms 512 KiB
001.txt AC 11 ms 512 KiB
002.txt AC 11 ms 512 KiB
003.txt AC 11 ms 512 KiB
004.txt AC 11 ms 512 KiB
005.txt AC 12 ms 512 KiB
006.txt AC 12 ms 512 KiB
007.txt AC 13 ms 512 KiB
008.txt AC 13 ms 512 KiB
009.txt AC 13 ms 512 KiB
010.txt AC 13 ms 512 KiB
011.txt AC 13 ms 512 KiB
012.txt AC 13 ms 512 KiB
013.txt AC 13 ms 512 KiB
014.txt AC 13 ms 512 KiB
015.txt AC 12 ms 512 KiB
016.txt AC 13 ms 512 KiB
017.txt AC 12 ms 512 KiB
018.txt AC 13 ms 512 KiB
019.txt AC 13 ms 512 KiB
020.txt AC 13 ms 512 KiB
021.txt AC 13 ms 512 KiB
022.txt AC 13 ms 512 KiB
023.txt AC 13 ms 512 KiB
024.txt AC 13 ms 512 KiB
025.txt AC 13 ms 512 KiB
026.txt AC 13 ms 512 KiB
027.txt AC 13 ms 512 KiB
028.txt AC 13 ms 512 KiB
029.txt AC 13 ms 512 KiB
030.txt AC 13 ms 512 KiB
031.txt AC 13 ms 512 KiB
032.txt AC 13 ms 512 KiB
033.txt AC 12 ms 512 KiB
034.txt AC 12 ms 512 KiB
035.txt AC 13 ms 512 KiB
036.txt AC 13 ms 512 KiB
037.txt AC 13 ms 512 KiB
038.txt AC 13 ms 512 KiB
039.txt AC 13 ms 512 KiB
040.txt AC 13 ms 512 KiB
041.txt AC 13 ms 512 KiB
042.txt AC 13 ms 512 KiB
043.txt AC 13 ms 512 KiB
044.txt AC 13 ms 512 KiB
045.txt AC 13 ms 512 KiB
046.txt AC 13 ms 512 KiB
047.txt AC 12 ms 512 KiB
048.txt AC 12 ms 512 KiB
049.txt AC 12 ms 512 KiB
050.txt AC 466 ms 1792 KiB
051.txt AC 491 ms 1792 KiB
052.txt AC 510 ms 1792 KiB
053.txt AC 499 ms 1792 KiB
054.txt AC 493 ms 1792 KiB
055.txt AC 497 ms 1792 KiB
056.txt AC 500 ms 1792 KiB
057.txt AC 489 ms 1792 KiB
058.txt AC 501 ms 1792 KiB
059.txt AC 496 ms 1792 KiB
060.txt AC 496 ms 1792 KiB
061.txt AC 500 ms 1792 KiB
062.txt AC 514 ms 1792 KiB
063.txt AC 517 ms 1792 KiB
064.txt AC 515 ms 1792 KiB
065.txt AC 512 ms 1792 KiB
066.txt AC 510 ms 1792 KiB
067.txt AC 493 ms 1792 KiB
068.txt AC 514 ms 1792 KiB
069.txt AC 511 ms 1792 KiB
070.txt AC 494 ms 1792 KiB
071.txt AC 489 ms 1792 KiB
072.txt AC 482 ms 1792 KiB
073.txt AC 496 ms 1792 KiB
example0.txt AC 1 ms 256 KiB
example1.txt AC 1 ms 256 KiB