用1,2,3,...9组成3个3位数abc, def, ghi;每个数字恰好用一次,要求 abc:def :ghi = 1: 2 : 3;按照abc : def : ghi的格式输出。

通常想到的思路为枚举9个数, 然后再去判断;这样的话最小复杂度为9 * 9 * 9;

枚举消耗的时间相对来说较大,当枚举的范围过大时,我们可以根据条件减小枚举范围;

题中给出了一个等式;

根据这个等式我们可以先枚举出abc的值;

然后根据abc的值去算出bcd, ghi的值;再来判断;

这样的复杂度会减小很多

#include<bits/stdc++.h>

#define clr(x) memset(x, 0, sizeof(x))

#define LL long long

using namespace std;

const int INF = 0x3f3f3f3f;

const int maxn = 100005;

int main()

{

int a;

int vis[15];

for(int i = 1; i <= 9; i++)

for(int j = 1; j <= 9; j++)

for(int k = 1; k <= 9; k++)

{

if(i == j || i == k || k == j)

continue;

clr(vis);

int a = i * 100 + j * 10 + k;

int b = 2 * a;

int c = 3 * a;

vis[i] = 1;

vis[j] = 1;

vis[k] = 1;

vis[b % 10] = 1;

vis[b / 100] = 1;

vis[(b / 10) % 10] = 1;

vis[c % 10] = 1;

vis[c / 100] = 1;

vis[(c / 10) % 10] = 1;

int flag = 1;

for(int l = 1; l <= 9; l++)

{

if(!vis[l])

{

flag = 0;

break;

}

}

if(flag)

{

printf("%d %d %d\n", a, b, c);

}

}

return 0;

}

简单排列习题2.5 的 2 - 6 P35的更多相关文章

  1. BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)

    1008: [HNOI2008]越狱 Time Limit: 1 Sec  Memory Limit: 162 MBSubmit: 10503  Solved: 4558[Submit][Status ...

  2. 《Python编程:从入门到实践》第二章 变量和简单数据类型 习题答案

    #2.1 print("Hello world!"); #2.2 message="Hello,Python!"; print(message); #2.3 n ...

  3. codeforces 57 C Array(简单排列组合)

    C. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...

  4. [习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除)#3 List或数组

    [习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除)#3 List或数组 之前的范例,使用字符串.文字来记录将删除的文章ID 后续会有很多小缺 ...

  5. ACM/ICPC 之 DP-浅谈“排列计数” (POJ1037)

    这一题是最近在看Coursera的<算法与设计>的公开课时看到的一道较难的DP例题,之所以写下来,一方面是因为DP的状态我想了很久才想明白,所以借此记录,另一方面是看到这一题有运用到 排列 ...

  6. 2014中国黑客榜(beta版)

    黑客,英文hacker.精通计算机各类技术的计算机高手,泛指擅长IT技术的人群.计算机科学家. 最近受某机构所托搜集国内活跃黑客近况.本着客观专业,权威可信的原则参考了国内从00年到最新的黑客榜单,以 ...

  7. 快速入门系列--MVC--03控制器和IOC应用

    Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过 ...

  8. Pattern Recognition and Machine Learning (preface translation)

    前言 鉴于机器学习产生自计算机科学,模式识别却起源于工程学.然而,这些活动能被看做同一个领域的两个方面,并且他们同时在这过去的十年间经历了本质上的发展.特别是,当图像模型已经作为一个用来描述和应用概率 ...

  9. 学习C语言的数组

    C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...

随机推荐

  1. android 自定义shape 带阴影边框效果

    在drawable 里面 建立一个 xml 直接复制 看效果 自己调试就可以 <?xml version="1.0" encoding="utf-8"?& ...

  2. CF538G Berserk Robot

    题意:一个机器人在一个无穷大的网格图中,每秒能够上下左右走一步.它的行走方向序列是长度为l的循环.给你n个线索,包括ti:时间,xi,yi走到的坐标.让你构造出行走的方向序列? 标程: #includ ...

  3. Python: 生成器与迭代 generators and iteration

    https://eastlakeside.gitbooks.io/interpy-zh/content/Generators/ 文章不是非常好 1,三个概念 可迭代对象 iterable, 迭代器 i ...

  4. agc38C LCMs

    https://atcoder.jp/contests/agc038/tasks/agc038_c 题意:给\(a_i\),求\(\sum_{i=1}^n\sum_{j=i+1}^nlcm(a_i,a ...

  5. 最大流拆点——poj3281

    /* 因为牛的容量为1,把牛拆点 按照s->f->cow->cow->d->t建图 */ #include<iostream> #include<cst ...

  6. HashMap(常用)方法个人理解

      Hashmap的存值: public static void main(String[] args) { ///*Integer*/map.put("1", 1);//向map ...

  7. 02-Nov-2017 07:11:56.475 信息 [http-nio-8080-exec-10] com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource. Initializing c3p0 pool...

    报错: 02-Nov-2017 07:11:56.475 信息 [http-nio-8080-exec-10] com.mchange.v2.c3p0.impl.AbstractPoolBackedD ...

  8. day 60 Django基础七之Ajax

      Django基础七之Ajax   本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 六 同源策 ...

  9. windows安装vscode,配置golang环境

    出现的问题: 进行如下命令进行目录切换:cd %GOPATH%\src\github.com\golang我这里的GOPATH是在D:\GoPath,大家这里一定要注意些如果src目录下面没有gith ...

  10. node环境下安装vue-cli

    一. node安装 1)如果不确定自己是否安装了node,可以在命令行工具内执行: node -v  (检查一下 版本): 2)如果 执行结果显示: xx 不是内部命令,说明你还没有安装node , ...