设三个数分别为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】 三连击(升级版)的更多相关文章

  1. 洛谷——P1618 三连击(升级版)

    P1618 三连击(升级版) 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢 ...

  2. 洛谷 P1618 三连击(升级版)【DFS/next_permutation()/技巧性枚举/sprintf】

    [链接]:https://www.luogu.org/problemnew/show/P1618 题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试 ...

  3. (水题)洛谷 - P1618 - 三连击(升级版)

    https://www.luogu.org/problemnew/show/P1618 枚举所有的A,最多 $A_9^3$ ,然后生成B和C(先判断是不是能够生成),判断有没有重复数字(比之前那个优雅 ...

  4. 洛谷 P1618 三连击(升级版)

    题目描述 将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是A:B:C,试求出所有满足条件的三个三位数,若无解,输出“No!!!”. //感谢黄小U饮品完善题意 输入输出格 ...

  5. Java实现 洛谷 P1618 三连击(升级版)

    import java.util.Arrays; import java.util.Scanner; public class Main { private static Scanner cin; p ...

  6. 洛谷 p1008三连击

    洛谷 p1008三连击 题目背景 本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序. 题目描述 将1,2, ⋯,9共99个数分成3组,分别组成3个三位数, ...

  7. 题解 洛谷P5018【对称二叉树】(noip2018T4)

    \(noip2018\) \(T4\)题解 其实呢,我是觉得这题比\(T3\)水到不知道哪里去了 毕竟我比较菜,不大会\(dp\) 好了开始讲正事 这题其实考察的其实就是选手对D(大)F(法)S(师) ...

  8. 题解 洛谷 P3396 【哈希冲突】(根号分治)

    根号分治 前言 本题是一道讲解根号分治思想的论文题(然鹅我并没有找到论文),正 如论文中所说,根号算法--不仅是分块,根号分治利用的思想和分块像 似却又不同,某一篇洛谷日报中说过,分块算法实质上是一种 ...

  9. 题解-洛谷P5410 【模板】扩展 KMP(Z 函数)

    题面 洛谷P5410 [模板]扩展 KMP(Z 函数) 给定两个字符串 \(a,b\),要求出两个数组:\(b\) 的 \(z\) 函数数组 \(z\).\(b\) 与 \(a\) 的每一个后缀的 L ...

  10. 题解-洛谷P4229 某位歌姬的故事

    题面 洛谷P4229 某位歌姬的故事 \(T\) 组测试数据.有 \(n\) 个音节,每个音节 \(h_i\in[1,A]\),还有 \(m\) 个限制 \((l_i,r_i,g_i)\) 表示 \( ...

随机推荐

  1. Anaconda切换工作目录盘符

    先回到C盘符的根目录再切换到其他盘符

  2. Geographic coordinate systems 坐标系和 wkid

    Well-Known ID 与对应的坐标系  地理坐标系 Well-known ID Name Well-known text 3819 GCS_HD1909 GEOGCS["GCS_HD1 ...

  3. 纪中21日c组T2 2117. 【2016-12-30普及组模拟】台风

    2117. 台风 (File IO): input:storm.in output:storm.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto Proble ...

  4. linux安装Nginx 以及 keepalived 管理Nginx

    linux安装Nginx 1.1将Nginx素材内容上传到/usr/local目录(pcre,zlib,openssl,nginx)(注意:必须登录用对这个文件具有操作权限的) 1.2安装pcre库 ...

  5. Visual Studio 2017中使用gulp编译sass/scss

    在Visual Studio 2017中使用gulp编译sass/scss文件 需要的环境:Visual Studio 2017.Node.js.npm 在vs2017中 [视图]-[其他窗口]-[任 ...

  6. Redis 数据类型及操作

    前言 作为Key-value型数据库,Redis也提供了键(Key)和键值(Value)的映射关系.但是,除了常规的数值或字符串,Redis的键值还可以是以下形式之一: Lists (可重复列表) S ...

  7. Android Studio 安装问题。

    安装时,这里要选Cancel 安装AS时因为选择了Setup Proxy, 后面带来很多问题. --------------------------------------------- 参考这个安装 ...

  8. json转dataset的另外一种解析方式自动生成guid强关联

    /// <summary> /// 将json字符串自动转成dataset,并且自动补全主子关联关系, /// Guid,FKGuid /// Author:lijia /// date: ...

  9. linux C++ 读取mysql结果保存

    c++读取mysql数据库结果保存 #include <fstream> #include <iomanip> #include <iostream> #inclu ...

  10. 回溯经典(指定位置N皇后问题)

    N皇后问题自不必多说,这道题的先行条件是在放置的时候已经指定了一个棋子的位置. 输入第一行为N,第二行为指定棋子的坐标(x,y):输出方案总数以及按字典序升序的各种方案. 思路: 首先是回溯,其次对待 ...