博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(原创)Problem F: WPF的三位数
阅读量:5275 次
发布时间:2019-06-14

本文共 1537 字,大约阅读时间需要 5 分钟。

Description

PF哥是一个爱说骚话的骚年,今天他决定要用阿拉伯数字来说骚话,他将1,2,…,9共9个数字分成了三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例

他要说的骚话就是几个数字。
例如:三个三位数192,384,576满足以上条件。

Input

输入仅有一组且仅有一行

每行包括一个字符串,"WPFNIUBI"

Output

输出题目要求的所有三个三位数,按照第一个数字从小到大输出。

Sample Input

WPFNIUBI

Sample Output

(此样例输出仅作为格式提示,非正确答案)(aaa

HINT

解题思路:这道题是随意输入一个字符串,然后输出所有1,2,…,9共9个数字分成了三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例按从小到大顺序排列的数字;

我们可以从最小的123,到最大的987之间枚举;由于987/3 = 329; 再加上要不同数字,所以可以用stl的set;        然而比赛的时候心态炸了,忘记set集合clear(),一直wrong  answer。

代码如下:

1 #include
2 #include
3 #include
4 using namespace std; 5 6 int ans1 ; 7 int ans2 ; 8 string a ; 9 int main()10 {11 set
s;12 cin>>a;13 for(int i = 123 ; i <= 329;i++) //从i = 123 到 i = 329 之间枚举;14 {15 ans1 = i*2;16 ans2 = i*3;17 18 s.insert(i%10); //将每一位取出;放入set里面;19 s.insert(i/10%10);20 s.insert(i/100);21 s.insert(ans1%10);22 s.insert(ans1/10%10);23 s.insert(ans1/100);24 s.insert(ans2%10);25 s.insert(ans2/10%10);26 s.insert(ans2/100);27 if(s.size()==9) //如果有9个不同的数字;28 {29 if(*s.begin()==0) *s.begin()可以取出集合中最小的元素; 30 continue; //这里要注意可以%完后可能有0,如果有0 ,就continue;31 else32 cout<
<<" "<
<<" "<
<

 

 

转载于:https://www.cnblogs.com/yewanting/p/10591556.html

你可能感兴趣的文章
字符串
查看>>
vue2.x directive - 限制input只能输入正整数
查看>>
实现MyLinkedList类深入理解LinkedList
查看>>
自定义返回模型
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 客户端多网络支持
查看>>
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
打飞机游戏【来源于Crossin的编程教室 http://chuansong.me/account/crossincode 】
查看>>
[LeetCode] Merge Intervals
查看>>
【翻译自mos文章】当点击完 finishbutton后,dbca 或者dbua hang住
查看>>
Linux编程简介——gcc
查看>>
2019年春季学期第四周作业
查看>>
MVC4.0 利用IActionFilter实现简单的后台操作日志功能
查看>>
rotate the clock
查看>>
bugku 变量
查看>>
Python 环境傻瓜式搭建 :Anaconda概述
查看>>
数据库01 /Mysql初识以及基本命令操作
查看>>
数据库02 /MySQL基础数据类型以及多表之间建立联系
查看>>
Python并发编程04/多线程
查看>>
CF461B Appleman and Tree
查看>>