#include<bits/stdc++.h>
using namespace std;
int num[5];
int a,b,c,d;
int main()
{
int t=0;//t判断是否为第一组输入,若不是第一组,输出前需要先输出换行
while(scanf("%d%d%d%d",&a,&b,&c,&d)!=EOF){
if(a==0&&b==0&&c==0&&d==0) break;
num[0]=a;
num[1]=b;
num[2]=c;
num[3]=d;
sort(num,num+4);
if(t) cout<<endl;
t=1;
int f=1,k;//f判断是否为输出的第一行的第一个,k标记第一个数字,判断第一个数字是否改变
do{
if(num[0]==0) continue;
if(f){
cout<<num[0]<<num[1]<<num[2]<<num[3];
f=0;
}
else if(k==num[0]) cout<<" "<<num[0]<<num[1]<<num[2]<<num[3];
else cout<<endl<<num[0]<<num[1]<<num[2]<<num[3];
k=num[0];//此时k即num[0]已经改变
}while(next_permutation(num,num+4));
cout<<endl;
}
return 0;
}
hdu1716
最新推荐文章于 2021-09-17 18:16:34 发布