#include <iostream> using namespace std; void change(int a[],int k){//向右移 int i; for(i=k-1;i>=0;i--){ if(a[i]!=0) break; } a[k]=a[i]; a[i]=0; } int main(){ int n; cin>>n; while(n--){ int a[4]; for(int i=0;i<4;i++) cin>>a[i]; for(int i=3;i>0;i--){//2 2 2 2 2 0 2 4 if(a[i]){ int j=i-1; while(j>=0){ if(a[i]==a[j]){ a[i]+=a[j]; a[j]=0; change(a,j); break; }else if(a[j]>0){ break; }else { j--; } } if(a[i]==a[i+1]) i+=2; }else{ change(a,i); } // for(int i=0;i<4;i++) // cout<<a[i]<<"-"; // cout<<endl; } for(int i=0;i<4;i++) cout<<a[i]<<" "; cout<<endl; } return 0; } |
Double click to view unformatted code.