QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#829215 | #9549. The Magician | ucup-team4435# | AC ✓ | 141ms | 7144kb | C++23 | 13.4kb | 2024-12-24 07:30:19 | 2024-12-24 07:30:25 |
Judging History
answer
#include "bits/stdc++.h"
#define rep(i, n) for (int i = 0; i < (n); ++i)
#define rep1(i, n) for (int i = 1; i < (n); ++i)
#define rep1n(i, n) for (int i = 1; i <= (n); ++i)
#define repr(i, n) for (int i = (n) - 1; i >= 0; --i)
#define pb push_back
#define eb emplace_back
#define all(a) (a).begin(), (a).end()
#define rall(a) (a).rbegin(), (a).rend()
#define each(x, a) for (auto &x : a)
#define ar array
#define vec vector
#define range(i, n) rep(i, n)
using namespace std;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using str = string;
using pi = pair<int, int>;
using pl = pair<ll, ll>;
using vi = vector<int>;
using vl = vector<ll>;
using vpi = vector<pair<int, int>>;
using vvi = vector<vi>;
int Bit(int mask, int b) { return (mask >> b) & 1; }
template<class T>
bool ckmin(T &a, const T &b) {
if (b < a) {
a = b;
return true;
}
return false;
}
template<class T>
bool ckmax(T &a, const T &b) {
if (b > a) {
a = b;
return true;
}
return false;
}
// [l, r)
template<typename T, typename F>
T FindFirstTrue(T l, T r, const F &predicat) {
--l;
while (r - l > 1) {
T mid = l + (r - l) / 2;
if (predicat(mid)) {
r = mid;
} else {
l = mid;
}
}
return r;
}
template<typename T, typename F>
T FindLastFalse(T l, T r, const F &predicat) {
return FindFirstTrue(l, r, predicat) - 1;
}
const int INFi = 2e9;
const ll INF = 2e18;
/*
! WARNING: MOD must be prime if you use division or .inv().
! WARNING: 2 * (MOD - 1) must be smaller than INT_MAX
* Use .value to get the stored value.
*/
template<typename T>
int normalize(T value, int mod) {
if (value < -mod || value >= 2 * mod) value %= mod;
if (value < 0) value += mod;
if (value >= mod) value -= mod;
return value;
}
template<int mod>
struct static_modular_int {
static_assert(mod - 2 <= std::numeric_limits<int>::max() - mod, "2(mod - 1) <= INT_MAX");
using mint = static_modular_int<mod>;
int value;
static_modular_int() : value(0) {}
static_modular_int(const mint &x) : value(x.value) {}
template<typename T, typename U = std::enable_if_t<std::is_integral<T>::value>>
static_modular_int(T value) : value(normalize(value, mod)) {}
static constexpr int get_mod() {
return mod;
}
template<typename T>
mint power(T degree) const {
mint prod = 1, a = *this;
for (; degree > 0; degree >>= 1, a *= a)
if (degree & 1)
prod *= a;
return prod;
}
mint inv() const {
return power(mod - 2);
}
mint& operator=(const mint &x) {
value = x.value;
return *this;
}
mint& operator+=(const mint &x) {
value += x.value;
if (value >= mod) value -= mod;
return *this;
}
mint& operator-=(const mint &x) {
value -= x.value;
if (value < 0) value += mod;
return *this;
}
mint& operator*=(const mint &x) {
value = int64_t(value) * x.value % mod;
return *this;
}
mint& operator/=(const mint &x) {
return *this *= x.inv();
}
friend mint operator+(const mint &x, const mint &y) {
return mint(x) += y;
}
friend mint operator-(const mint &x, const mint &y) {
return mint(x) -= y;
}
friend mint operator*(const mint &x, const mint &y) {
return mint(x) *= y;
}
friend mint operator/(const mint &x, const mint &y) {
return mint(x) /= y;
}
mint& operator++() {
++value;
if (value == mod) value = 0;
return *this;
}
mint& operator--() {
--value;
if (value == -1) value = mod - 1;
return *this;
}
mint operator++(int) {
mint prev = *this;
value++;
if (value == mod) value = 0;
return prev;
}
mint operator--(int) {
mint prev = *this;
value--;
if (value == -1) value = mod - 1;
return prev;
}
mint operator-() const {
return mint(0) - *this;
}
bool operator==(const mint &x) const {
return value == x.value;
}
bool operator!=(const mint &x) const {
return value != x.value;
}
bool operator<(const mint &x) const {
return value < x.value;
}
template<typename T>
explicit operator T() {
return value;
}
friend std::istream& operator>>(std::istream &in, mint &x) {
std::string s;
in >> s;
x = 0;
bool neg = s[0] == '-';
for (const auto c : s)
if (c != '-')
x = x * 10 + (c - '0');
if (neg)
x *= -1;
return in;
}
friend std::ostream& operator<<(std::ostream &out, const mint &x) {
return out << x.value;
}
static int primitive_root() {
if constexpr (mod == 1'000'000'007)
return 5;
if constexpr (mod == 998'244'353)
return 3;
if constexpr (mod == 786433)
return 10;
static int root = -1;
if (root != -1)
return root;
std::vector<int> primes;
int value = mod - 1;
for (int i = 2; i * i <= value; i++)
if (value % i == 0) {
primes.push_back(i);
while (value % i == 0)
value /= i;
}
if (value != 1)
primes.push_back(value);
for (int r = 2;; r++) {
bool ok = true;
for (auto p : primes)
if ((mint(r).power((mod - 1) / p)).value == 1) {
ok = false;
break;
}
if (ok)
return root = r;
}
}
};
// constexpr int MOD = 1'000'000'007;
constexpr int MOD = 998'244'353;
using mint = static_modular_int<MOD>;
/*
! WARNING: MOD must be prime.
* Define modular int class above it.
* No need to run any init function, it dynamically resizes the data.
*/
namespace combinatorics {
std::vector<mint> fact_, ifact_, inv_;
void resize_data(int size) {
if (fact_.empty()) {
fact_ = {mint(1), mint(1)};
ifact_ = {mint(1), mint(1)};
inv_ = {mint(0), mint(1)};
}
for (int pos = fact_.size(); pos <= size; pos++) {
fact_.push_back(fact_.back() * mint(pos));
inv_.push_back(-inv_[MOD % pos] * mint(MOD / pos));
ifact_.push_back(ifact_.back() * inv_[pos]);
}
}
struct combinatorics_info {
std::vector<mint> &data;
combinatorics_info(std::vector<mint> &data) : data(data) {}
mint operator[](int pos) {
if (pos >= static_cast<int>(data.size())) {
resize_data(pos);
}
return data[pos];
}
} fact(fact_), ifact(ifact_), inv(inv_);
// From n choose k.
// O(max(n)) in total.
mint choose(int n, int k) {
if (n < k || k < 0 || n < 0) {
return mint(0);
}
return fact[n] * ifact[k] * ifact[n - k];
}
// From n choose k.
// O(min(k, n - k)).
mint choose_slow(int64_t n, int64_t k) {
if (n < k || k < 0 || n < 0) {
return mint(0);
}
k = std::min(k, n - k);
mint result = 1;
for (int i = k; i >= 1; i--) {
result *= (n - i + 1);
result *= inv[i];
}
return result;
}
// Number of balanced bracket sequences with n open and m closing brackets.
mint catalan(int n, int m) {
if (m > n || m < 0) {
return mint(0);
}
return choose(n + m, m) - choose(n + m, m - 1);
}
// Number of balanced bracket sequences with n open and closing brackets.
mint catalan(int n) {
return catalan(n, n);
}
} // namespace combinatorics
using namespace combinatorics;
namespace ext_combinatorics {
// distribute n equal elements into k groups
mint distribute(int n, int k) {
return choose(n + k - 1, n);
}
// count number of seqs with n '(' and m ')' and bal always >= 0
mint catalan_nm(int n, int m) {
assert(n >= m);
return choose(m + n, m) - choose(m + n, m - 1);
}
mint catalan(int n) {
return catalan_nm(n, n);
}
// count number of bracket seqs, bal always >= 0
mint catalan_bal(int n, int start_balance = 0, int end_balance = 0) {
if ((n + start_balance + end_balance) % 2 != 0) return 0;
if (start_balance < 0 || end_balance < 0) return 0;
return choose(n, (n + end_balance - start_balance) / 2) - choose(n, (n - end_balance - start_balance - 2) / 2);
}
// from (0, 0) to (x, y)
mint grid_path(int x, int y) {
return choose(x + y, x);
}
// from (0, 0) to (x, y) not touch low y=x+b
mint grid_path_low(int x, int y, int b) {
if (b >= 0) return 0;
return grid_path(x, y) - grid_path(y - b, x + b);
}
// from (0, 0) to (x, y) not touch up y=x+b
// O((x + y) / |b2 - b1|)
mint grid_path_up(int x, int y, int b) {
if (b <= 0) return 0;
return grid_path(x, y) - grid_path(y - b, x + b);
}
// from (0, 0) to (x, y) touch L -LU +LUL -LULU ....
// O((x + y) / |b2 - b1|)
mint grid_calc_LUL(int x, int y, int b1, int b2) {
swap(x, y);
x -= b1;
y += b1;
if (x < 0 || y < 0) return 0;
return grid_path(x, y) - grid_calc_LUL(y, x, -b2, -b1);
}
// from (0, 0) to (x, y) not touch low y=x+b1, up y=x+b2
// O((x + y) / |b2 - b1|)
mint grid_path_2(int x, int y, int b1, int b2) {
return grid_path(x, y) - grid_calc_LUL(x, y, b1, b2) - grid_calc_LUL(y, x, -b2, -b1);
}
// probability what we end in L+R after infinity random walk, if we start at L, and absorbing points is 0, L+R.
mint gambler_ruin_right(int L, int R, mint p_right) {
assert(L >= 1 && R >= 1);
if (p_right * 2 == 1) return mint(L) / mint(L + R);
if (p_right == 1) return 1;
if (p_right == 0) return 0;
mint v = (1 - p_right) / p_right;
return (1 - v.power(L)) / (1 - v.power(L + R));
}
mint gambler_ruin_left(int L, int R, mint p_left) {
return 1 - gambler_ruin_right(L, R, 1 - p_left);
}
} // namespace ext_combinatorics
map<pair<ar<int, 5>, ar<int, 6>>, int> mem;
int calc(pair<ar<int, 5>, ar<int, 6>> state) {
if (mem.contains(state)) return mem[state];
int res = 0;
ar<int, 5> cards = state.first;
ar<int, 6> bonus = state.second;
rep(i, 4) {
res += cards[i] / 5;
cards[i] %= 5;
}
if (res != 0) return mem[state] = calc({cards, bonus}) + res;
int answer = 0;
rep(i, 4) {
if (cards[i] + cards[4] >= 5) {
auto cards2 = cards;
cards2[4] -= 5 - cards2[i];
cards2[i] = 0;
ckmax(answer, calc({cards2, bonus}) + 1);
}
}
rep(j, 4) {
if (bonus[j]) {
auto bonus2 = bonus;
bonus2[j]--;
function<void(ar<int, 5>, int, int)> rec = [&] (ar<int, 5> cur, int t, int took) {
if (t == j) t++;
if (t == 4) {
if (took == 0) return;
cur[j] += took;
assert(took <= 3);
ckmax(answer, calc({cur, bonus2}));
return;
}
for(int v = 0; v <= cards[t] && took + v <= 3; ++v) {
rec(cur, t + 1, took + v);
cur[t]--;
}
};
rec(cards, 0, 0);
}
}
if (bonus[4]) {
auto bonus2 = bonus;
bonus2[4]--;
rep(j, 4) {
if (cards[j]) {
auto cards2 = cards;
cards2[j]--;
cards2[4]++;
ckmax(answer, calc({cards2, bonus2}));
}
}
}
if (bonus[5]) {
auto bonus2 = bonus;
bonus2[5]--;
rep(j, 4) {
if (cards[j]) {
rep(e, 5) {
if (!cards[e] || e == j) continue;
auto cards2 = cards;
cards2[j]--;
cards2[e]++;
ckmax(answer, calc({cards2, bonus2}));
}
}
}
}
return mem[{cards, bonus}] = answer + res;
}
void solve() {
int n; cin >> n;
ar<int, 5> cards = {0, 0, 0, 0, 0};
ar<int, 6> bonus = {0, 0, 0, 0, 0, 0};
rep(i, n) {
string s; cin >> s;
reverse(all(s));
if (s[0] == 'D') {
cards[0]++;
} else if (s[0] == 'C') {
cards[1]++;
} else if (s[0] == 'H') {
cards[2]++;
} else {
cards[3]++;
}
}
rep(i, 6) cin >> bonus[i];
cout << calc({cards, bonus}) << '\n';
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
cout << setprecision(12) << fixed;
int t = 1;
cin >> t;
rep(i, t) {
solve();
}
return 0;
}
这程序好像有点Bug,我给组数据试试?
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3632kb
input:
4 5 2H 3H 4H 5H 6D 1 1 1 1 0 0 5 2S 3S 4D 5C 6D 0 0 1 0 1 1 5 2S 3S 4D 5C 6D 0 0 1 0 1 0 13 AS 2S 3S 4S 5H 6H 7H 8H 9H TH JH QH KH 0 0 0 0 0 1
output:
1 1 0 2
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 1ms
memory: 3596kb
input:
13 10 AD 2D 3D 4D 5D 6D 7D 8D 9D TD 0 0 1 0 0 0 10 AH 2D 3D 4D 5D 6D 7D 8D 9D TD 0 0 1 0 0 0 10 AH 2H 3D 4D 5D 6D 7D 8D 9D TD 0 0 1 0 0 0 10 AH 2H 3H 4D 5D 6D 7D 8D 9D TD 0 0 1 0 0 0 10 AH 2H 3H 4H 5D 6D 7D 8D 9D TD 0 0 1 0 0 0 10 AS 2S 3S 4S 5S 6S 7S 8S 9S TS 0 1 0 0 0 0 10 AC 2S 3S 4S 5S 6S 7S 8S ...
output:
2 1 2 2 2 2 1 2 2 2 0 0 0
result:
ok 13 lines
Test #3:
score: 0
Accepted
time: 52ms
memory: 5276kb
input:
2 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH J...
output:
10 10
result:
ok 2 lines
Test #4:
score: 0
Accepted
time: 12ms
memory: 4104kb
input:
9 12 2H TH 4C QC JH JC 8D KC 3C 6H TC 9S 0 0 0 1 0 0 11 5S 2C TH 8S JD 2S 7D AH 4S AC TS 1 0 0 0 0 0 11 QC 4C 5S QS 9H 5H 6H 7H 3D 7D 8D 1 1 1 0 1 1 11 AS AD 3D 8C 5H 2S JC 6C 8H QD JS 0 1 0 0 0 1 11 KC TH 4S 2H 8S 9S QC 3S AD KS 5D 0 0 1 0 0 1 12 4D 5H 6C 3D KH KS 3S 7S TC 4S 4C JS 0 1 0 1 1 0 12 J...
output:
1 2 2 1 2 2 2 2 2
result:
ok 9 lines
Test #5:
score: 0
Accepted
time: 3ms
memory: 4028kb
input:
10 10 5S 6S 4S 2D JD 3H JH 2H 4H 2C 1 1 0 1 0 0 11 3H 2D 6D 7S KD 6C 8H 2S 9H KH 3D 0 1 0 1 0 1 11 4D AH TS 6S TC 3S 9C 3C 5S JH TD 0 1 0 1 0 0 10 9H 3S TC TS 8S 6S TH 7D TD 5D 0 0 0 0 0 1 11 5H KS QH 4D 8H 6H QC 7H 8D JS JC 0 0 1 0 0 0 10 AD 5D TC 8D 5C 5S 8S QS 3C JD 0 0 0 1 0 1 10 TC TH 4S 8C JC ...
output:
2 2 2 1 1 2 2 1 2 2
result:
ok 10 lines
Test #6:
score: 0
Accepted
time: 2ms
memory: 3664kb
input:
2 52 4S 5H AD 9D 9C 4C 9S QD 2C JS 2D 3S 3D AC QS 5S KD 4D KH 9H TC 6C 6S 7D 7C KS 3H 6H KC JC AH 8H QH 3C QC TS 8C TH TD 4H 7S 6D 8S AS 5C JD JH 2H 5D 2S 8D 7H 0 0 0 1 1 1 52 9S JC 8S 2D 2S TS 4C 2C 6D KS 5H KD AH 5D 8C KC QH 6C 4D 9C 8H 5C 3H JH TD QS AC AS QC 6H 4H 7D QD 9D TH 4S 2H JD TC JS 7C A...
output:
10 10
result:
ok 2 lines
Test #7:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
3 35 9H JC 2H TH 7S 6D AS 4H 3D AD KS TS 2C 9S 5D 8H KD TC KH 5C QD 4S 3C 6C JS AC 2D JD 3H QH 9D 5S 6S JH 5H 0 1 0 0 1 0 34 TS 2H 4H 9D KD JC QS 6C 2D QD 2S JS 7C JH 7H 8H 4S 3C AD QC AS 7D KC 8S 2C 3S 8C 5D 5C AC TD 3H 4C 9H 0 1 1 1 0 0 35 6C 9H 3D TC 4D 3H 2S 8D AS JD 6H 2C 5D QH TD 9D 3S 5C 9C A...
output:
7 6 5
result:
ok 3 lines
Test #8:
score: 0
Accepted
time: 5ms
memory: 3800kb
input:
10 10 AC 7C 9S KD 4S 2C 2S 3D 6D 7H 1 1 0 1 0 1 10 9D AS 8S JS 6C KS 4D 3D 2S QC 0 1 0 0 0 0 10 QC 5H 5D 2S 7S 8S 3D 8C TS 8H 1 0 1 1 0 1 10 KD 7D 8S TC 3S 6C AS 4C 9H KC 1 0 0 0 0 0 11 8C 2C JS 6C QC 2H 5C 9H 3C AS 9D 1 0 1 0 1 0 10 8H 5D 5C QH JS JC 6H 4H 8C 7C 0 0 0 1 1 0 13 9H 4S 8D 3H KD TC 2D ...
output:
2 2 2 1 2 1 1 2 1 1
result:
ok 10 lines
Test #9:
score: 0
Accepted
time: 0ms
memory: 3656kb
input:
13 5 TH JH QD KD AD 1 0 0 0 0 0 5 TH JH QC KC AC 1 0 0 0 0 0 5 TH JH QS KS AS 1 0 0 0 0 0 5 TD JD QH KH AH 1 0 0 0 0 0 5 TD JD QC KC AC 1 0 0 0 0 0 5 TD JD QS KS AS 1 0 0 0 0 0 5 TC JC QH KH AH 1 0 0 0 0 0 5 TC JC QD KD AD 1 0 0 0 0 0 5 TC JC QS KS AS 1 0 0 0 0 0 5 TS JS QH KH AH 1 0 0 0 0 0 5 TS JS...
output:
1 0 0 1 1 1 0 1 0 0 1 0 8
result:
ok 13 lines
Test #10:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
13 5 TH JH QD KD AD 0 1 0 0 0 0 5 TH JH QC KC AC 0 1 0 0 0 0 5 TH JH QS KS AS 0 1 0 0 0 0 5 TD JD QH KH AH 0 1 0 0 0 0 5 TD JD QC KC AC 0 1 0 0 0 0 5 TD JD QS KS AS 0 1 0 0 0 0 5 TC JC QH KH AH 0 1 0 0 0 0 5 TC JC QD KD AD 0 1 0 0 0 0 5 TC JC QS KS AS 0 1 0 0 0 0 5 TS JS QH KH AH 0 1 0 0 0 0 5 TS JS...
output:
0 1 0 0 1 0 1 1 1 0 0 1 8
result:
ok 13 lines
Test #11:
score: 0
Accepted
time: 0ms
memory: 3560kb
input:
13 5 TH JH QD KD AD 0 0 1 0 0 0 5 TH JH QC KC AC 0 0 1 0 0 0 5 TH JH QS KS AS 0 0 1 0 0 0 5 TD JD QH KH AH 0 0 1 0 0 0 5 TD JD QC KC AC 0 0 1 0 0 0 5 TD JD QS KS AS 0 0 1 0 0 0 5 TC JC QH KH AH 0 0 1 0 0 0 5 TC JC QD KD AD 0 0 1 0 0 0 5 TC JC QS KS AS 0 0 1 0 0 0 5 TS JS QH KH AH 0 0 1 0 0 0 5 TS JS...
output:
1 1 1 1 0 0 1 0 0 1 0 0 8
result:
ok 13 lines
Test #12:
score: 0
Accepted
time: 0ms
memory: 3784kb
input:
13 5 TH JH QD KD AD 0 0 0 1 0 0 5 TH JH QC KC AC 0 0 0 1 0 0 5 TH JH QS KS AS 0 0 0 1 0 0 5 TD JD QH KH AH 0 0 0 1 0 0 5 TD JD QC KC AC 0 0 0 1 0 0 5 TD JD QS KS AS 0 0 0 1 0 0 5 TC JC QH KH AH 0 0 0 1 0 0 5 TC JC QD KD AD 0 0 0 1 0 0 5 TC JC QS KS AS 0 0 0 1 0 0 5 TS JS QH KH AH 0 0 0 1 0 0 5 TS JS...
output:
0 0 1 0 0 1 0 0 1 1 1 1 8
result:
ok 13 lines
Test #13:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
2 52 4S 7H 3C JH 3H 2H 6H 2D 8C 6S 5H KC 8S TC JS 2C 7S 6D TD 2S 9S TS 3D 9D JD 5D 8H KS AC TH 5S JC 9C 4D QC QD 6C AS 3S 7C KD 8D AH KH 7D 4H 4C 5C AD QS 9H QH 0 0 0 1 0 0 52 6D 7C 5H 2S 9S 9C TS 4H 6H 3S QS KC KH KD 5S 4C 8D 3D JD TC 8H 6C QH KS QC 3H 2H AS 9D 3C 7H 8S TD AD 9H JS TH 7S 5C 4S JC J...
output:
9 9
result:
ok 2 lines
Test #14:
score: 0
Accepted
time: 1ms
memory: 3692kb
input:
3 36 TH 6D JC 7C TS 8S 6H 6S AS 4C 8H TD 4D JD KS 5S 5D 7S 7D 2S AH KD JH 3S 2C 5C 9C 8D QS 9D 4S 9S JS 6C AD 3C 0 0 0 0 1 1 34 JD 7C 5S 9S KD 2D KH 4C 8C 3S 6C 4D 5H TC 5C 7H QC 6S 9D 9H 6H 6D 3D 8D 3H 8H 2C KS 7D JH 2S JC 3C QD 0 0 1 1 0 0 34 KC 6D 5S TD 2D 4D AD QH 2C 6H 5C QD 8H 8S 2H TH 4H AS J...
output:
7 6 6
result:
ok 3 lines
Test #15:
score: 0
Accepted
time: 0ms
memory: 3640kb
input:
4 26 KH JH 2S 9S 3S QS KD 8D QD TH TC 2D JS 5D 7S 8S 9D 4D JD AD 2C KC 3H 8H 3D 6C 0 0 1 0 1 1 26 QH 7D AC 7S 6C 4D 4S 8D 7H 8S 6S 3H AS 6H 5H TC 5C 6D 8H KC QC JH 2C 2H TH 9C 0 0 0 0 0 0 26 TC 6C TD 2S 6H 9S 4D AS 3D AD 5D KC 7H KD JH TS TH QC 5S JD 7S 2D KS QH 5H 7D 1 0 0 0 0 0 26 TC 2C 9D KH 8H 7...
output:
5 3 4 5
result:
ok 4 lines
Test #16:
score: 0
Accepted
time: 1ms
memory: 3676kb
input:
5 21 3S 3H 9H 5H 6C 6H 2C 7D 4D 7S 7H KS 9C 8H 5S 8S 6S 2H KH TH 3C 1 0 0 1 0 0 21 QH 4S AH 8C 7C 6C 5S KS 3H AS 9H JH 5C KC JC 4C 3C 4D JS 4H 3S 0 0 1 1 1 0 21 4H AH KS 8H TS 9D QD JH 2C 2H KD QH JD 8C 4D 4S KC 9H 2D 3C 7C 1 0 0 0 1 1 21 KS AS 7C QH TD TS 2C 8D 8H 9H 4H 3H 2D QC 3D 4C 5S 6S 5H 3S 4...
output:
3 4 4 4 4
result:
ok 5 lines
Test #17:
score: 0
Accepted
time: 2ms
memory: 4060kb
input:
7 14 3D 7S 9S QS 5H 9H AC 2S TD KH 5D KS JC QC 1 0 0 0 0 0 14 8D 5D AD 2H AC TC JD TS KH JS 3D 2D 8C 9C 0 0 0 0 0 0 15 TS 8H 6S 5S 7C JS 2S 7S 8C AS 8S 5C 4H 4S TH 0 1 0 0 0 0 15 QH 3S JH QD 5S 9C 5C 7H 8D TD QC 5D 2S 5H 7S 1 1 1 0 0 1 16 JS 8C JC 8S 9H AC 3C 4D 5C 8D JH 7S 4S QH 9D 9C 1 0 0 0 0 0 1...
output:
2 1 2 3 2 2 3
result:
ok 7 lines
Test #18:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
1 36 AH 2H 3H 4H 5H 6H 7H 8H 9H AC 2C 3C 4C 5C 6C 7C 8C 9C AD 2D 3D 4D 5D 6D 7D 8D 9D AS 2S 3S 4S 5S 6S 7S 8S 9S 1 1 1 0 0 0
output:
7
result:
ok single line: '7'
Test #19:
score: 0
Accepted
time: 1ms
memory: 3608kb
input:
7 15 3C 9D 8C 6S 5S QS 8D AH 3D 5C TD QD 9S 6C 6D 1 1 1 0 0 0 16 3C 8C JS 3S AC 7D QS KC JH KS AS 2S 9H 4D 2H 5H 0 1 0 0 0 0 14 JS 9H AC 7C KH 5H 4H 2S KC TC 2D QS AD QC 0 0 0 0 1 0 14 JH KH 6H KC 9H TH 2S QS 4S 3S JS 8D 4C AH 1 0 0 0 1 0 15 5D 7S 8S 2C TH TC 5C KD 4C QH 2S 6D 3H AS KS 0 0 0 0 1 0 1...
output:
2 2 2 2 2 3 2
result:
ok 7 lines
Test #20:
score: 0
Accepted
time: 0ms
memory: 3856kb
input:
3 35 8H 8D 3H JD 4S AD KC JC 5D KH QD JH 5C QS 3C 2S 4H 3S 7D AH 8S 6C TS JS KS 6S 7C TH QH 9H 9D 8C AC 6H AS 0 0 1 0 1 0 34 KC AS KS 3S 5H JC TD 2C JS KD 4C 8C AD QS 9D 5S AC 3H 2H 3C QD 9S 6D 4S QC 8H 6C TS 7C 4D 9H 6S QH TC 0 1 0 0 1 1 35 3H 9C 2C 5S TS TC QD AS 8C 5D 4H 6C 7C 9H 6S 7H KS 2S 8D A...
output:
6 6 7
result:
ok 3 lines
Test #21:
score: 0
Accepted
time: 0ms
memory: 3636kb
input:
5 21 TH 9C 5S 9H KD JD JS 3C KH 3S 6S 7D 8S JH 4D 7H 9D 6D KC 7S 4C 1 1 0 1 0 0 20 6C QC 2D 2S 4H QS 8S KD 9H 3H 7H JD 7D KC 2C 5C 8D 7C 4S JC 1 0 0 0 1 1 21 JC 9C 8H 2D TS QH TC 6C 6S 6D 9S 4D KC 7C 4C 5C QD JS 8D AD QC 1 0 0 1 0 0 22 2C 6S 8S JC 9H 8H 4S 8C JD 4H 5S 5H QH 6H 6D 9D KC 7S 2S 3D 8D T...
output:
4 4 3 4 2
result:
ok 5 lines
Test #22:
score: 0
Accepted
time: 52ms
memory: 4980kb
input:
2 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 52 AC AH AD AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH J...
output:
10 10
result:
ok 2 lines
Test #23:
score: 0
Accepted
time: 98ms
memory: 6484kb
input:
3 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 51 AC AH AD AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD J...
output:
10 10 0
result:
ok 3 lines
Test #24:
score: 0
Accepted
time: 94ms
memory: 6012kb
input:
4 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 1 JD 1 1 1 1 1 1 50 AC AH AD AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 8D 8C 8S 9H 9D 9C 9S TH TD...
output:
10 0 10 0
result:
ok 4 lines
Test #25:
score: 0
Accepted
time: 48ms
memory: 4956kb
input:
13 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 1 JD 1 1 1 1 1 1 41 AC AD AS 2H 2C 2S 3H 3C 4H 4D 4C 5H 5D 5S 6D 6S 7H 7D 7C 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JS QH QD Q...
output:
10 0 8 0 0 0 0 0 0 0 0 0 0
result:
ok 13 lines
Test #26:
score: 0
Accepted
time: 141ms
memory: 7144kb
input:
5 52 AH AD AC AS 2H 2D 2C 2S 3H 3D 3C 3S 4H 4D 4C 4S 5H 5D 5C 5S 6H 6D 6C 6S 7H 7D 7C 7S 8H 8D 8C 8S 9H 9D 9C 9S TH TD TC TS JH JD JC JS QH QD QC QS KH KD KC KS 1 1 1 1 1 1 26 AH AD 2C 2S 3H 3D 4C 4S 5H 5D 6C 6S 7H 7D 8C 8S 9H 9D TC TS JH JD QC QS KH KS 1 1 1 1 1 1 13 7H 7D 8C 8S 9H 9D TC TS JH JD Q...
output:
10 5 2 1 1
result:
ok 5 lines
Extra Test:
score: 0
Extra Test Passed