欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

将1到9这九个数字分成3个三位数a,b,c

程序员文章站 2024-02-02 13:42:10
...

将1到9这九个数字分成3个三位数a,b,c,每个数字恰好出现一次,要求a????️c=1:2:3。要求按照"a b c"的格式输出所有解, 每行一个解。

#include<bits/stdc++.h>
using namespace std;
int a[10]={1,2,3,4,5,6,7,8,9};
void dfs(int id){
	if(id>=9){
		int x,y,z;
		x = a[0]*100 + a[1]*10 + a[2];
		y = a[3]*100 + a[4]*10 + a[5];
		z = a[6]*100 + a[7]*10 + a[8];
		if(x*2==y && x*3==z){
			cout<<x<<" "<<y<<" "<<z<<endl;
		}
		return;
	}else{
		int j;
		for(int i=id;i<9;i++){
			j=a[i];a[i]=a[id];a[id]=j;
			dfs(id+1);
			j=a[i];a[i]=a[id];a[id]=j;
		}
	}
}
int main(){
	ios::sync_with_stdio(0);
	dfs(0);
	return 0;
}
相关标签: 穷举法 c++