题目描述

为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数。老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255),每个编号互不相同。老师制定了以下的游戏规则:第一轮,每位同学将自己卡片上编号的各位数字进行平方后再相加得到一组新数,编号在这组新数中出现的同学淘汰出局,第二轮,余下的同学再将编号的各位数字进行立方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,第三轮,余下的同学再将编号的各位数字进行4次方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,……,以此类推,经过n轮后,仍留下来的同学,将获得圣诞特别礼物,卡片上的数即为2007年吉祥数。(假定班级人数不超过200人)

输入格式

输入有两行,第1行为1个正整数n(n<8),表示有n轮游戏,第二行是卡片上互不相同的编号。
输出:剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。

输出格式

输出是1行,为剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。

样例输入

1
24 123 2 12 20 14 4 6 36 72

样例输出

2 6 12 24 72 123

裸裸地模拟啊

要注意细节问题

交了3遍才过!!!

首先 要注意数可能是有重复的

其次 还要标记是哪一轮删除的

避免同一轮中 前面的数将后面的数删除 导致不计算后面的数的情况

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int s[222];
int num[288],chosen[288];
int casenum,m;int a,b,c;int pow(int s,int i)
{int ans=1;while(i){i--;ans*=s;}return ans;
}int calc(int s,int i)
{int ans=0;while(s){ans+=pow(s%10,i);s/=10;}return ans;
}int main()
{scanf("%d",&casenum);m++;while(scanf("%d",&s[m])==1){num[s[m]]++;m++;}m--;for(a=1;a<=255;a++)if(chosen[a])cout<<a<<" ";for(a=1;a<=casenum;a++)for(b=0;b<=255;b++)if(num[b]&&(!chosen[b]||chosen[b]==a)){int t=calc(b,a+1);if(t<=255)chosen[t]=a;}for(a=1;a<=255;a++)if(!chosen[a]&&num[a]){while(num[a]){cout<<a<<" ";num[a]--;}}return 0;
}

RQNOJ 154 吉祥数相关推荐

  1. 【其他】【RQNOJ】吉祥数

    题目描述 为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255), ...

  2. 1184: 零基础学C/C++184——吉祥数

    Problem1184: 零基础学C/C++184--吉祥数 题目描述 为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张 ...

  3. 搜寻吉祥数,在给定的范围内,例如1~99999,找出吉祥数字,满足的条件为:全部数字必须由6或者8构成,如66666,66668,668,…

    题目:在给定的范围内,例如1~99999,找出吉祥数字,满足的条件为:全部数字必须由6或者8构成,如66666,66668,668,- 1.一开始想的很杂,考虑了效率:把要查找的数转化成String再 ...

  4. C++编程题目:吉祥数 题解+代码

    题目描述 为了迎接圣诞,信息学兴趣小组的同学们在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数.老师给每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255) ...

  5. 浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解

    浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解 OJ地址:http://47.96.116.66/index.php 标程/题解GitHub:https://github.com ...

  6. 浙江理工大学c语言作业网站,浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解...

    浙江理工大学 我的编程之路 零基础学C/C++ 200题 标程/题解 OJ地址:http://47.96.116.66/index.php 标程/题解GitHub:https://github.com ...

  7. [从头读历史] 第261节 左传 [BC657至BC598]

    剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入元婴期的修炼后,日夜苦修,神通日进. 这日,忽然想起自己虽然神通大涨,却在人文涵养上始终无有寸进,不觉挂怀. 在和[工程师阿伟]商议后,决定先理清文 ...

  8. 计算机二级Ms-Office选择题汇总

    计算机二级Ms-Office选择题汇总 1. 程序流程图中带有箭头的线段表示的是 b) 概念设计阶段 ( ). c) 逻辑设计阶段 a) 图元关系 d) 物理设计阶段 b) 数据流 9. 有三个关系R ...

  9. Python爬取微信公众号历史文章进行数据分析,发现2017年运营总结,可以这样写!...

    作者:刘晓明,互联网公司运维技术负责人,拥有10年的互联网开发和运维经验.一直致力于运维工具的开发和运维专家服务的推进,赋能开发,提高效能. 广告时间:最后给自己代个盐~~欢迎大家有空时翻下我牌子(知 ...

最新文章

  1. Python中将三个列表数据zip起来并遍历(Iterating through three lists in parallel)
  2. mysql 4.0字符集,mysql4.0升级到mysql5(4.1),解决字符集问题
  3. 手机浏览器推荐_推荐一款手机上最好用的浏览器
  4. matlab按顺序排列图片,小技巧
  5. 图形化界面客户端连接phoenix操作hbase
  6. git命令:修改已经commit的注释
  7. pdf不支持64位浏览器_4MLinux 31.0 发布,不支持32位
  8. 5.3命名socket
  9. android sqlite 保存图片,android-如何将图像在Sqlite数据库中另存为blob?
  10. 计算机操作系统第四版课后习题答案(完整版)
  11. 南卡和声阔蓝牙耳机哪个比较好用?降噪效果好的蓝牙耳机推荐
  12. ChemDraw使用不了怎么办
  13. 关于微信小程序不能显示图片
  14. 查询onedrive空间大小
  15. 钢铁切削液及油-市场现状及未来发展趋势
  16. Revit中栏杆扶手、坡道的绘制及插件太多问题
  17. 计算机一级wps必背知识点,计算机一级WPSoffice考前复习题
  18. python基础学习(三)之线性数据结构
  19. 道琼斯200万高危人群名单泄露,从AWS上
  20. 第四十九回 七星坛诸葛祭风  三江口周瑜纵火

热门文章

  1. 基于百度地图的电子围栏的实现之地理位置检索
  2. Unreal Engine虚幻游戏引擎素材资源汇总目录
  3. std::move的实际工作过程
  4. 用Spirent Test Center测试交换机Head of Line(HOL)Blocking
  5. 集成ssj思路与注意点
  6. 微信公众号优质文章分享仓库持续更新
  7. 转:一个banner仔的自我修养(1) ——字体字形篇
  8. Android的事件处理——监听接口方式
  9. 心音测心率(逻辑思考)
  10. linux下ioctl操作网络接口,linux下无线网卡的ioctl 接口