1836936_ac_0ms_24k.c
来自「北大大牛代码 1240道题的原代码 超级权威」· C语言 代码 · 共 32 行
C
32 行
# include <stdio.h>
void main()
{
int i, j, m, n, p, t, sum, Y, tmp, a[6];
Y = 1;
while(scanf("%d%d%d%d%d%d",&a[0],&a[1],&a[2],&a[3],&a[4],&a[5]) == 6&&(a[0]||a[1]||a[2]||a[3]||a[4]||a[5]))
{
printf("Collection #%d:\n",Y++);
if((a[0]+a[1]*2+a[2]*3+a[3]*4+a[4]*5+a[5]*6)%2) {printf("Can't be divided.\n\n");continue;}
if(a[5] > 5) if(a[5]%2) a[5] = 5; else a[5] = 4;
if(a[4] > 6) if(a[4]%2) a[4] = 5; else a[4] = 6;
if(a[3] > 5) if(a[3]%2) a[3] = 5; else a[3] = 4;
if(a[2] > 5) if(a[2]%2) a[2] = 5; else a[2] = 4;
if(a[1] > 4) if(a[1]%2) a[1] = 3; else a[1] = 4;
sum = a[1]*2 + a[2]*3 + a[3]*4 + a[4]*5 + a[5]*6;
for(i = 0; i <= a[1]; i++)
for(j = 0; j <= a[2]; j++)
for(m = 0; m <= a[3]; m++)
for(n = 0; n <= a[4]; n++)
for(p = 0; p <= a[5]; p++)
{
tmp = 2*i+3*j+4*m+5*n+6*p;
t = tmp*2>sum?tmp*2-sum:sum-tmp*2;
if(a[0]+t>=0&&(a[0]+t)%2==0&&a[0]+t<=2*a[0])
{printf("Can be divided.\n\n");goto k;}
}
printf("Can't be divided.\n\n");
k: ;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?