首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >P1008 三连击

P1008 三连击

作者头像
attack
发布2018-04-12 11:26:51
8630
发布2018-04-12 11:26:51
举报

题目背景

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

题目描述

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

输入输出格式

输入格式:

木有输入

输出格式:

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

输入输出样例

输入样例#1:

输出样例#1:

192 384 576
* * *
...
* * *
(输出被和谐了)

mdzz这么简单的题我居然WA了四遍也是没谁了,,,,

思路比较简单,就是模拟。

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int MAXN=2000050;
const int maxn=0x7fffffff;
void read(int &n){char c='+';int x=0;bool flag=0;while(c<'0'||c>'9'){c=getchar();if(c=='-')flag=1;}
while(c>='0'&&c<='9'){x=x*10+(c-48);c=getchar();}flag==1?n=-x:n=x;}
int pd[15];
int main()
{
	for(int i=100;i<=999;i++)
	{
		int a=i,b=i*2,c=i*3;if(b>999||c>999||a==0||b==0||c==0)continue;
		int tot=0;
		bool flag=0;
		memset(pd,0,sizeof(pd));
		while(a)
		{
			if(!pd[a%10]&&(a%10!=0))	pd[a%10]=1,a/=10;
			else 	{	flag=1;break;	}
		}
		if(flag==1)continue;
		while(b)
		{
			if(!pd[b%10]&&(b%10!=0))	pd[b%10]=1,b/=10;
			else 	{	flag=1;break;	}
		}
		if(flag==1)continue;
		while(c)
		{
			if(!pd[c%10]&&(c%10!=0))	pd[c%10]=1,c/=10;
			else 	{	flag=1;break;	}
		}
		if(flag==1)continue;
		printf("%d %d %d\n",i,i*2,i*3);
	}
	return 0;
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-08-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 题目背景
  • 题目描述
  • 输入输出格式
  • 输入输出样例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档