Submission #337282

#TimeUsernameProblemLanguageResultExecution timeMemory
337282boykutMarriage questions (IZhO14_marriage)C++14
32 / 100
5 ms384 KiB
#include <bits/stdc++.h> using namespace std; const int MAXN = 101, MAXM = 51; const int MAXK = MAXN * MAXM; int dp[MAXN][MAXM], a[MAXK], b[MAXK], n, m, k; bool can (int l, int r) { int mas[m + 1]; fill (mas, mas + 1 + m, 0); for (int i = l; i <= r; i++) { for (int j = 1; j <= m; j++) { mas[j] |= dp[i][j]; } } if (count(mas, mas + 1 + m, 0) == 1) { //cout << "(" << l << ' ' << r << "), "; return true; } else return false; } signed main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m >> k; if (!(n <= 100 && m <= 50)) return 0; for (int i = 0; i < k; i++) { cin >> a[i] >> b[i]; dp[a[i]][b[i]] = 1; } int ans = 0; for (int l = 1; l <= n; l++) { for (int r = l + m - 1; r <= n; r++) { if (can(l, r)) ans++; } } cout << ans << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...