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

    题目背景

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

    题目描述

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

    输入输出格式

    输入格式:

    木有输入

    输出格式:

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

    输入输出样例


    输入样例#1:


    输出样例#1:

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


    WriteUp:

    数组记录数字出现次数,循环遍历可能的出现数字即可。

    ps: 洛谷评测机似乎不支持初始化数组采用memset的方法,会编译错误。。。


    参考AC代码:

    #include <cstdio>
    #include <iostream>
    #include <cstdlib>
    #include <cmath>
    
    using namespace std;
    
    int num[9]={0};
    
    int main(void){
    	int j,k;
    	for (int i=123;i*3<=987;i++)
    	{
    
    		//数组置0
    
    		for (int b=0;b<9;b++)
    		{
    			num[b]=0;
    		}
    
    		//取i的各个位数字,放入数组记录次数
    
    		num[i/100-1]++;
    		num[i/10%10-1]++;
    		num[i%10-1]++;
    
    		//取j的各个位数字,放入数组记录次数
    
    		j = i*2;
    		num[j/100-1]++;
    		num[j/10%10-1]++;
    		num[j%10-1]++;
    
    		//取k的各个位数字,放入数组记录次数
    
    		k = i*3;
    		num[k/100-1]++;
    		num[k/10%10-1]++;
    		num[k%10-1]++;
    		for (int a=0;a<9;a++)
    		{
    
    			//次数不为1,不符题意,跳过
    
    			if (num[a]!=1)
    			{
    				break;
    			}
    
    			//数组检查完毕,输出
    
    			if (a==8)
    			{
    				printf("%d %d %d
    ",i,j,k);
    			}
    		}
    	}
    		
    	return 0;
    }


  • 相关阅读:
    POJ2395 Out of Hay
    POJ2421 Constructing Roads
    POJ2031 Building a Space Station
    POJ1751 Highways
    [NOIP2007] 提高组 洛谷P1099 树网的核
    [NOIP2007] 提高组 洛谷P1005 矩阵取数游戏
    [NOIP2007] 提高组 洛谷P1097 统计数字
    [NOIP2007] 提高组 洛谷P1098 字符串的展开
    [NOIP2007] 普及组
    洛谷 通天系列 P1760 P1757 P1759
  • 原文地址:https://www.cnblogs.com/csnd/p/12897088.html
Copyright © 2011-2022 走看看