zoukankan      html  css  js  c++  java
  • P1008 三连击

    题目背景

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

    题目描述

    将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
    ",i,i*2,i*3);
    	}
    	return 0;
    }
    

      

  • 相关阅读:
    Linux中的防火墙
    Jinja2模板概述
    Ansible触发器-tag标签-忽略错误
    Ansible流程控制
    Ansible变量
    Play-book格式写法
    Redis哨兵(Sentinel)
    Redis 主从复制
    Redis介绍及安装
    Keepalived高可用集群搭建
  • 原文地址:https://www.cnblogs.com/zwfymqz/p/7327878.html
Copyright © 2011-2022 走看看