View Code of Problem 10

#include<stdio.h>
int main()
{
	int n;
	int a[4]={0};
	int i,j;
	int flag;
	scanf("%d",&n);
	while(n--)
	{
		scanf("%d %d %d %d",&a[0],&a[1],&a[2],&a[3]);
		for(i=3;i>0;i--)
		{
			if(a[i]!=0)
			{
				if(a[i-1]==a[i])
				{
					a[i]+=a[i];
					a[i-1]=0;
					i--;
					continue;
				}
				if(i>1)
				{
					if(a[i-1]==0)
					{
						if(i>2)
						{
							if(a[i-2]==a[i])
							{
							a[i]*=2;
							a[i-2]=0; 
							}
							if(i=3)
							{
								if(a[i-2]==0)
								{
									if(a[i-3]==a[i])
									{
										a[i]*=2;
										a[i-3]=0;
									}
								}
							}
						}
						else
						{
						 	if(a[i-2]==a[i])
							{
							a[i]*=2;
							a[i-2]=0; 
							}	
						}		
					}
				}
					
			}
		}
		for(j=0;j<3;j++)
		{
			for(i=0;i<3;i++)
			{
				if(a[i]!=0)
				{
					if(a[i+1]==0)
					{
						a[i+1]=a[i];
						a[i]=0;
					}
				}
			}
		}
		for(i=0;i<4;i++)
		{
			printf("%d",a[i]);
			if(i!=3)
			printf(" ");
		}
		if(n!=0)
		printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 10