?? pku2626.cpp
字號(hào):
#include <stdio.h>
typedef struct
{
int w, b;
} Pers;
int x[1001][16][16];
Pers man[1001];
int max(int i, int w, int b)
{
int xx;
xx = x[i - 1][w][b];
if (i > 0 && w > 0 && xx < x[i - 1][w - 1][b] + man[i].w)
{
xx = x[i - 1][w - 1][b] + man[i].w;
}
if (i > 0 && b > 0 && xx < x[i - 1][w][b - 1] + man[i].b)
{
xx = x[i - 1][w][b - 1] + man[i].b;
}
return xx;
}
int main()
{
int i, N, b, w;
i = 0;
while (scanf("%d %d", &man[i].w, &man[i].b) != -1) i++;
N = i;
memset(x, 0, sizeof(x));
x[0][0][0] = 0;
x[0][1][0] = man[0].w;
x[0][0][1] = man[0].b;
for (b = 0; b < 16; b++)
{
for (w = 0; w < 16; w++)
{
for (i = b + w - 1; i < N; i++)
{
if (b + w + i < 2)
{
continue;
}
x[i][w][b] = max(i, w, b);
}
}
}
printf("%d\n", x[N - 1][15][15]);
return 0;
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -