洛谷 p1008三连击

洛谷 p1008三连击

 

题目背景

本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述

将1,2, ⋯,9共99个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。

输入格式

木有输入

输出格式

若干行,每行33个数字。按照每行第11个数字升序排列。

输入输出样例

输入 #1

输出 #1

192 384 576
* * *
...

* * *
(输出被和谐了)

思路: 暴力模拟求解。代码如下:

#include <bits/stdc++.h>
#define LL long long
using namespace std;
bool judge(int x,int y,int z){
	int d[9];
	d[0]=x/100;
	d[1]=x/10%10;
	d[2]=x%10;
	d[3]=y/100;
	d[4]=y/10%10;
	d[5]=y%10;
	d[6]=z/100;
	d[7]=z/10%10;
	d[8]=z%10;
	sort(d,d+9);
	for(int i=0;i<9;i++){
		if(d[i]==i+1)continue;
		else {
			x=-1;
			break;
		}
	}
	if(x==-1){
		return false;
	}
	else{
		return true;
	}
}
int main()
{
	for(int i=1;i<=9;i++){
		for(int j=1;j<=9;j++){
			for(int k=1;k<=9;k++){
				int x=i*100+j*10+k;
				int y=x*2,z=x*3;
				if(judge(x,y,z))printf("%d %d %d\n",x,y,z);
			}
		}
	}
	return 0;
}

 

posted @ 2019-08-13 19:16  whocarethat  阅读(72)  评论(0编辑  收藏  举报