View Code of Problem 10

#include "stdlib.h"
#include "algorithm"
#include "iostream"
#include <cstdio>
#include "string"
#include <iomanip>
#include <map>
#include <set>
#include "math.h"
using namespace std;
map<char, int> mp;
set<string> st;
int main()
{
	int n; int a[4];
	cin >> n;
	while (n--)
	{
		for (int i = 0; i < 4; i++)cin >> a[i];
		for (int i = 3; i>0; i--)
		{
			for (int j = i - 1; j >= 0; j--)
			{
				if (a[i] == a[j])
				{
					a[i] = a[i] * 2;
					a[j] = 0;
					break;
				}
			}
		}
		for (int i = 3; i>0; i--)
		{

			if (a[i] == 0)
			{
				for (int j = i - 1; j >= 0; j--)
				{
					if (a[j] > 0)
					{
						a[i] = a[j];
						a[j] = 0;
						i--;
					}
				}
			}
		}

		for (int i = 0; i < 4; i++)
		{
			printf("%d", a[i]);
			if (i < 3)printf(" ");
		}
		printf("\n");
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 10