View Code of Problem 10

#include<bits/stdc++.h>
using namespace std;
vector<int>a;
int main(){
	int n;
	cin>>n;
	while(n--){ 
		for(int i=0;i<4;++i){        ///0 2 2 2      2 0 2 0     8 4 2 2   0 0 0 0   2 0 2 0   2 4 6 8 !!!
			int data;
			scanf("%d",&data);        ///不如打表 
			if(data!=0)
			a.push_back(data);
		}
		if(a.size()==0){
			cout<<"0 0 0 0"<<endl;
			continue;
		}
		
		for(int i=a.size()-1;i>0;--i){
			if(a[i]==a[i-1]){
				a[i]*=2;
				a.erase(a.begin()+i-1);
				--i;
			}
		}
		if(a.size()==4){
			cout<<a[0]<<" "<<a[1]<<" "<<a[2]<<" "<<a[3]<<endl;
		}
		else{
			for(int i=0;i<4-a.size();++i)
			cout<<"0 ";
		for(int i=0;i<a.size()-1;++i){
			cout<<a[i]<<" ";
		}
		cout<<a[a.size()-1];
		if(n!=0)
		cout<<endl;
		}
		a.clear();
		
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 10