简单排列习题2.5 的 2 - 6 P35
用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的更多相关文章
- BZOJ 1008 [HNOI2008]越狱 (简单排列组合 + 快速幂)
1008: [HNOI2008]越狱 Time Limit: 1 Sec Memory Limit: 162 MBSubmit: 10503 Solved: 4558[Submit][Status ...
- 《Python编程:从入门到实践》第二章 变量和简单数据类型 习题答案
#2.1 print("Hello world!"); #2.2 message="Hello,Python!"; print(message); #2.3 n ...
- codeforces 57 C Array(简单排列组合)
C. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- [习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除)#3 List或数组
[习题] FindControl 简单练习--GridView + CheckBox,点选多列数据(复选删除)#3 List或数组 之前的范例,使用字符串.文字来记录将删除的文章ID 后续会有很多小缺 ...
- ACM/ICPC 之 DP-浅谈“排列计数” (POJ1037)
这一题是最近在看Coursera的<算法与设计>的公开课时看到的一道较难的DP例题,之所以写下来,一方面是因为DP的状态我想了很久才想明白,所以借此记录,另一方面是看到这一题有运用到 排列 ...
- 2014中国黑客榜(beta版)
黑客,英文hacker.精通计算机各类技术的计算机高手,泛指擅长IT技术的人群.计算机科学家. 最近受某机构所托搜集国内活跃黑客近况.本着客观专业,权威可信的原则参考了国内从00年到最新的黑客榜单,以 ...
- 快速入门系列--MVC--03控制器和IOC应用
Asp.net MVC也接触好久了,但由于自己一直主要负责后台,尤其是数据库方面的工作对于该框架并没有一个很好的了解,尤其是蒋金楠大师的ASP.NET MVC4框架剖析一书都买了2年多了,真正认真看过 ...
- Pattern Recognition and Machine Learning (preface translation)
前言 鉴于机器学习产生自计算机科学,模式识别却起源于工程学.然而,这些活动能被看做同一个领域的两个方面,并且他们同时在这过去的十年间经历了本质上的发展.特别是,当图像模型已经作为一个用来描述和应用概率 ...
- 学习C语言的数组
C语言的数组 数组声明的实例:int num[3];只要记下这个模板就好. 不建议使用变量定义数组,如果使用了变量定义数组,作为数组的元素的个数,不初始化的情况下是随机值,如果初始化会直接报错 注意: ...
随机推荐
- VMware的使用-永久激活码
1.在软件管理中下载安装VMware 版本为14.0 试用期为30天 2.在网上找的永久破解码 VMware 2018 v14.x 永久许可证激活密钥FF31K-AHZD1-H8ETZ-8WWE ...
- Python 正整数相加其余忽略
从键盘上输入若干数值,对其中的正整数求和,非正整数(负整数,实数或其他符号)忽略,这个过程一直到输入“#”结束. i = 0while True: m = input("请输入一个数:&qu ...
- leetcode-分治
题目169: 分治:O(nlgn) class Solution: def majorityElement(self, nums: List[int]) -> int: def majorE(l ...
- 单独编译和使用webrtc音频增益模块(附完整源码+测试音频文件)
webrtc的音频处理模块分为降噪ns和nsx,回音消除aec,回声控制acem,音频增益agc,静音检测部分.另外webrtc已经封装好了一套音频处理模块APM,如果不是有特殊必要,使用者如果要用到 ...
- java实现单链表增删改查
package 数据结构算法.链表; /* *定义节点 * 链表由节点构成 */ public class Node<E> { private E e; //数据data private ...
- 「题解」:$d$
问题 A: $d$ 时间限制: 1 Sec 内存限制: 512 MB 题面 题面谢绝公开. 题解 赛时切掉了然而过程十分曲折. 贪心思路很好想.然而一开始错误以为是单峰.其实几个峰都有可能. 开场写 ...
- SpringBoot2.0+ 使用Log4j2日志输出
据说Log4j2相比log4j效率有很大提升. pom.xml导入 <dependency> <groupId>org.springframework.boot</gro ...
- 【转载】Delphi异常处理try except语句和try finally语句用法以及区别
Delphi异常处理try except语句和try finally语句用法以及区别 一直写程序都没管他们,也尽量很少用,今天终于想把他给弄个明白,在网上找来,记下!主要是前面小部分,后面的是详细说明 ...
- duilib教程之duilib入门简明教程15.自绘控件
在[2013 duilib入门简明教程 -- 复杂控件介绍 (13)]中虽然介绍了界面设计器上的所有控件,但是还有一些控件并没有被放到界面设计器上,还有一些常用控件duilib并没有提供(比如菜单控件 ...
- javascript和jquery
JavaScript 1.概述 JavaScript是一种基于对象和事件驱动,并具有安全性能的脚本语言. 2.语法 HTML 中的脚本必须位于 <script> 与 </script ...