2020 camp-day6-C
模拟题
在游戏规则的基础上,杀敌最多就让 毒 杀嘲讽怪或普通怪,普通随从去破圣盾
杀敌少 毒 去破嘲讽的圣盾,或普通怪的圣盾,小兵去a普通怪(没伤害,尽量不去破圣盾)
#include<cstdio>
#define RE register
#define FOR(i,a,b) for(RE int i=a;i<=b;++i)
#define ROF(i,a,b) for(RE int i=a;i>=b;--i)
#define sc(n) scanf("%d",&n)
using namespace std;
const int maxn = 1005;
int n, e, b, c, d, ansx, ansi, T;
int ee, bb, cc, dd;
char s[maxn];
int main()
{
sc(T);
while (T--)
{
sc(n), sc(e), sc(b), sc(c), sc(d);
ansx = ansi = 0; bb = b, cc = c, dd = d, ee = e;
scanf("%s", s + 1);
FOR(i, 1, n)
{
if (s[i] == '1')
{
if (c)--c, ++ansx;
else if (d) --d, ++c;
else if (e) --e, ++ansx;
else if (b) --b, ++e;
if (dd)--dd, ++cc;
else if (cc)--cc, ++ansi;
else if (bb) --bb, ++ee;
else if (ee) --ee, ++ansi;
}
else
{
if (d) --d, ++c;
else if (c);
else if (b) --b, ++e;
if (cc);
else if (dd)--dd, ++cc;
}
}
printf("%d %d\n", ansx, ansi);
}
return 0;
}

浙公网安备 33010602011771号