题解【洛谷P1618】 三连击(升级版)
设三个数分别为n1、n2、n3,因为三个数的比为A:B:C,取一份量i,使得A·i=x,B·i=y,C·i=z(·是*的意思)。
所以我们的代码只需要枚举i,并以此判断n1、n2、n3是否为三位数且包含1-9这九个数字即可。
判断是否包含1-9可以用p数组记录每个数字是否出现过,1为出现,0为没出现。
于是我们有了下列代码:
#include<bits/stdc++.h>
using namespace std;
int p[];//记录是否包含1-9
void cf(int x){//分解出这个数的各个数位
while(x>){//如果这个数还有数位
p[x%]=;//记录这个数位
x/=;//除以十,记录下一数位
}
}
int a,b,c,n1,n2,n3,m,i,j,k,l;
int main()
{ k=;//判断有没有解
scanf("%d%d%d",&a,&b,&c);//输入比例
for(i=;i<=;i++){//枚举i
memset(p,,sizeof(p));//p数组清零
r=;//判断变量
n1=i*a;
n2=i*b;
n3=i*c;//计算三个数
if(n1< || n2< || n3< || n1> || n2> || n3>)break;//如果不是三位数就退出循环
cf(n1);cf(n2);cf(n3);//依次拆分各个数字
for(j=;j<=;j++){//是否1-9这九个数字都有
if(p[j]==)r=;//如果没有,判断变量值记为0
}
if(r==){//如果这三个数有解
k=;//判断有没有解的变量值记为1
printf("%d %d %d\n",n1,n2,n3);//输出各个数
}
}
if(k==)printf("No!!!");//如果1个解都没有,则输出“No!!!”
return ;//结束
}
题解【洛谷P1618】 三连击(升级版)的更多相关文章
- 洛谷——P1618 三连击(升级版)
P1618 三连击(升级版) 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢 ...
- 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】
[链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...
- (水题)洛谷 - P1618 - 三连击(升级版)
https://www.luogu.org/problemnew/show/P1618 枚举所有的A,最多 $A_9^3$ ,然后生成B和C(先判断是不是能够生成),判断有没有重复数字(比之前那个优雅 ...
- 洛谷 P1618 三连击(升级版)
题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢黄小U饮品完善题意 输入输出格 ...
- Java实现 洛谷 P1618 三连击(升级版)
import java.util.Arrays; import java.util.Scanner; public class Main { private static Scanner cin; p ...
- 洛谷 p1008三连击
洛谷 p1008三连击 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目描述 将1,2, ⋯,9共99个数分成3组,分别组成3个三位数, ...
- 题解 洛谷P5018【对称二叉树】(noip2018T4)
\(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...
- 题解 洛谷 P3396 【哈希冲突】(根号分治)
根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...
- 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)
题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...
- 题解-洛谷P4229 某位歌姬的故事
题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...
随机推荐
- SVN使用经验
转载于:Svn发布项目 个人使用体验: 关于svn的相关命令 从服务器检出创建的项目文件夹,向项目中添加文件,右键tortoiseSvn->add 然后右键SVN Commit,选择文件并输入提 ...
- 剑指offer-面试题51-数组中的逆序对-归并排序
/* 题目: 求给定数组的逆序对数. */ /* 思路: 归并排序. */ #include<iostream> #include<cstring> #include<v ...
- java 相关书籍介绍
自己做开发也有两年多了吧,其中也关注过许多大牛的博客,买过许多的书看. 自己也是个比较爱阅读的人,从小的时候被老爸逼着每次寒暑假看书,到后来慢慢长大爱上了阅读,习惯了看书. 农村的小孩吗,那时候又不像 ...
- ARM微处理器中支持字节、半字、字三种数据类型,地址的低两位为0是啥意思?
问题: ARM微处理器中支持字节.半字.字三种数据类型,其中,字需要4字节对齐(地址的低两位为0).半字需要2字节对齐(地址的最低位为0).我想问的是括号中的内容是什么意思呢?请牛人帮忙解释一下!谢谢 ...
- Uva1640(统计数字出现的次数)
题意: 统计两个整数a,b之间各个数字(0~9)出现的次数,如1024和1032,他们之间的数字有1024 1025 1026 1027 1028 1029 1030 1031 1032 总共有10个 ...
- Java连载75-StringBuffer和StringBuilder
一.StringBuffer和StringBuilder 1.StringBuffer是什么? 答:是一个字符串缓冲区,工作原理:预先在内存中申请一块空间以容纳字符序列,如果预留的空间,则进行自动扩容 ...
- 基于TCP协议Socket通信
服务器线程处理类 package demo4; import java.io.*; import java.net.Socket; /** * 服务器线程处理类 * @ClassName Server ...
- C++中public、protected、private的区别(转载)
转载:https://blog.csdn.net/vanturman/article/details/79393317 首先记住一点:派生类能且只能访问基类的public和protected成员! ...
- JavaScript 13 Ajax技术(未完)
<body> <!-- 添加文档主体内容 --> <header> <nav>JavaScript - Ajax - 读取XML文件</nav&g ...
- yarn 不要一起用 npm
yarn 不要一起用 npm 如果一起用,看下lock 的版本一样不,不一样可能会出现问题