昇旗典禮
作法:暴力枚舉
/*****************************************************/
#include<stdio.h>
#include<stdlib.h>
main()
{
int n;
scanf("%d",&n);
while(n--)
{
int a,b;
int num[10]={0};
for(a=1;a<=9;a++)
scanf("%d",&num[a]);
int way[11]={0},min=100;
int x1,x2,x3,x4,x5,x6,x7,x8,x9;
for(x1=0;x1<4&&x1<min;x1++)
for(x2=0;x2<4&&x1+x2<min;x2++)
for(x3=0;x3<4&&x1+x2+x3<min;x3++)
for(x4=0;x4<4&&x1+x2+x3+x4<min;x4++)
for(x5=0;x5<4&&x1+x2+x3+x4+x5<min;x5++)
for(x6=0;x6<4&&x1+x2+x3+x4+x5+x6<min;x6++)
for(x7=0;x7<4&&x1+x2+x3+x4+x5+x6+x7<min;x7++)
for(x8=0;x8<4&&x1+x2+x3+x4+x5+x6+x7+x8<min;x8++)
for(x9=0;x9<4&&x1+x2+x3+x4+x5+x6+x7+x8+x9<min;x9++)
{
int s[10]={0};
s[1]=num[1]+x1+x2+x4;
s[2]=num[2]+x1+x2+x3+x5;
s[3]=num[3]+x2+x3+x6;
s[4]=num[4]+x1+x4+x5+x7;
s[5]=num[5]+x1+x3+x5+x7+x9;
s[6]=num[6]+x3+x5+x6+x9;
s[7]=num[7]+x4+x7+x8;
s[8]=num[8]+x5+x7+x8+x9;
s[9]=num[9]+x6+x8+x9;
for(a=1;a<=9;a++)
if(s[a]%4!=0) break;
if(a==10)
{
if(x1+x2+x3+x4+x5+x6+x7+x8+x9<min)
{
min=x1+x2+x3+x4+x5+x6+x7+x8+x9;
way[1]=x1;
way[2]=x2;
way[3]=x3;
way[4]=x4;
way[5]=x5;
way[6]=x6;
way[7]=x7;
way[8]=x8;
way[9]=x9;
}
}
}
for(a=1;a<10;a++)
for(b=0;b<way[a];b++)
printf("%d ",a);
printf("\n");
}
return 0;
}