View Code of Problem 10

#include<cstdio> 
#include<iostream>
using namespace std;
int main(){
	int n;
	cin >> n;
	while(n--){
		int a[4],flag=0,n=0;
		for(int i=3;i>=n;i--){
			cin >> a[i];
			if(a[i]==0){
				n++;
				i++;
				flag++;
			}
		}
		for(int i=0;i+flag<4;i++){
			a[i]=a[i+flag];
		}
		for(flag=4-flag;flag<4;flag++)a[flag]=0;
		for(int i=0;i<4;i++){
				if(a[i]==a[i+1]){
					a[i]*=2;
					a[i+1]=0;
				}
			
		}
			for(int i=0;i<3;i++){
			if(a[i]==0&&flag!=0){
				a[i]=a[i+1];
				a[i+1]=0;
				flag--;
			}
		}
		for(int i=3;i>=0;i--){
			cout << a[i] ;
			if(i!=0)cout << ' ';
		}
		cout << endl;
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 10