天天看點

HDU 1716 排列2(next_permutation、輸出格式)

題目連結:點選這裡

HDU 1716 排列2(next_permutation、輸出格式)

一直PE,輸出格式有點麻煩QAQ

#include<iostream>
#include<algorithm>
#include<string>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<stack>
#include<queue>

using namespace std;
typedef long long ll;
const int MOD = 10000007;
const int INF = 0x3f3f3f3f;
const double PI = acos(-1.0);
const int maxn = 300;
int a[10];
 
int main()
{
	int cnt = 0;
	while(~scanf("%d%d%d%d",&a[0],&a[1],&a[2],&a[3]))
	{
		if(a[0]==0&&a[1]==0&&a[2]==0&&a[3]==0)
			break;
		if(cnt)
			printf("\n");
		cnt++;
		
		sort(a, a+4);
		int k = 0, tmp;
		do{
			if(k)
			{
				if(a[0]==tmp)	printf(" ");
				else	printf("\n");
			}
			if(a[0])
			{
				k++;
				for(int i = 0; i < 4; i++)
					printf("%d", a[i]);
			}
			tmp = a[0];	//記錄目前a[0],留做下次比較 
		}while(next_permutation(a, a+4));
		
		printf("\n");
	}
	return 0;
}
           
STL