【t090】吉祥数
Time Limit: 1 second
Memory Limit: 128 MB
【问题描述】
为了迎接圣诞,信息学兴趣小组的同学在辅导老师的带领下,举办了一个盛大的晚会,晚会的第一项内容是做游戏:猜数。老师给
每位同学发一张卡片,每张卡片上都有一个编号(此编号为非负数,且小于255),每个编号互不相同。老师制定了以下的游戏规
则:第一轮,每位同学将自己卡片上编号的各位数字进行平方后再相加得到一组新数,编号在这组新数中出现的同学淘汰出局
,第二轮,余下的同学再将编号的各位数字进行立方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,第三轮,
余下的同学再将编号的各位数字进行4次方相加得到一组新数,编号在这组新数中出现的同学再淘汰出局,……,以此类推,经
过n轮后,仍留下来的同学,将获得圣诞特别礼物,卡片上的数即为2007年吉祥数。(假定班级人数不超过200人)
【输入格式】
输入文件ghillie .in 有两行,第1行为1个正整数n(n<8),表示有n轮游戏,第二行是卡片上互不相同的编号。
输出:剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。
【输出格式】
输出文件ghillie .out是1行,为剩下来的各个吉祥数,按从小到大顺序输出,每两个数之间有一个空格。
Sample Input
1
24 123 2 12 20 14 4 6 36 72
Sample Output
2 6 12 24 72 123
【题目链接】:http://noi.qz5z.com/viewtask.asp?id=t090
【题解】
单独写个函数计算某个数字在第x回合各个位上的数字的x+1方和;
然后就模拟呗;
平台日常卖萌:
如果回合数小于3.最后的数字末尾有多余的空格;
回合数大于等于3,最后的数字末尾没有多余的空格。
【完整代码】
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <set>
#include <map>
#include <iostream>
#include <algorithm>
#include <cstring>
#include <queue>
#include <vector>
#include <stack>
#include <string>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
void rel(LL &r)
{
r = 0;
char t = getchar();
while (!isdigit(t) && t!='-') t = getchar();
LL sign = 1;
if (t == '-')sign = -1;
while (!isdigit(t)) t = getchar();
while (isdigit(t)) r = r * 10 + t - '0', t = getchar();
r = r*sign;
}
void rei(int &r)
{
r = 0;
char t = getchar();
while (!isdigit(t)&&t!='-') t = getchar();
int sign = 1;
if (t == '-')sign = -1;
while (!isdigit(t)) t = getchar();
while (isdigit(t)) r = r * 10 + t - '0', t = getchar();
r = r*sign;
}
const int MAXN = 200+100;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
int T;
LL a[MAXN];
int n = 0;
vector <LL> b;
bool bo[MAXN];
LL f(LL x,int round)
{
LL temp = 0;
while (x>0)
{
int t = x%10;
LL dd = 1;
rep1(i,1,round+1)
dd=dd*t;
temp+=dd;
x/=10;
}
return temp;
}
int main()
{
//freopen("F:\\rush.txt","r",stdin);
memset(bo,true,sizeof(bo));
rei(T);
LL x;
while (scanf("%I64d",&x)!=EOF)
a[++n] = x;
rep1(ii,1,T)
{
b.clear();
rep1(i,1,n)
if (bo[i])
b.pb(f(a[i],ii));
int len = b.size();
rep1(i,1,n)
if (bo[i])
{
rep1(j,0,len-1)
if (b[j]==a[i])
{
bo[i]=false;
break;
}
}
}
b.clear();
rep1(i,1,n)
if (bo[i])
b.pb(a[i]);
sort(b.begin(),b.end());
int len = b.size();
rep1(i,0,len-1)
{
printf("%I64d",b[i]);
if (i==len-1)
{
if (T<3) putchar(' ');
puts("");
}
else
printf(" ");
}
return 0;
}
【t090】吉祥数的更多相关文章
- [Swust OJ 610]--吉祥数
题目链接:http://acm.swust.edu.cn/problem/610/ Time limit(ms): 1000 Memory limit(kb): 65535 Description ...
- K-lord #2
题目描述 还记得,高中数学联赛,2005,那道毒瘤题. 如果自然数的各位数字之和等于7,那么称为“吉祥数”.将所有“吉祥数”从小到大排成一列 $a_{1}$,$a_{2}$,$a_{3}$ ... , ...
- Linux上如何查看物理CPU个数,核数,线程数
首先,看看什么是超线程概念 超线程技术就是利用特殊的硬件指令,把两个逻辑内核模拟成两个物理芯片,让单个处理器都能使用线程级并行计算,进而兼容多线程操作系统和软件,减少了CPU的闲置时间,提高的CPU的 ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- 数塔问题(DP算法)自底向上计算最大值
Input 输入数据首先包括一个整数C,表示测试实例的个数,每个测试实例的第一行是一个整数N(1 <= N <= 100),表示数塔的高度,接下来用N行数字表示数塔,其中第i行有个i个整数 ...
- 统计iOS项目的总代码行数的方法
打开终端, 用cd命令 定位到工程所在的目录,然后调用以下命名即可把每个源代码文件行数及总数统计出来: find . "(" -name "*.m" -or - ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – 3D 建模篇
http://www.hightopo.com/demo/pipeline/index.html <数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇>里提到 HT 很 ...
- 数百个 HTML5 例子学习 HT 图形组件 – WebGL 3D 篇
<数百个 HTML5 例子学习 HT 图形组件 – 拓扑图篇>一文让读者了解了 HT的 2D 拓扑图组件使用,本文将对 HT 的 3D 功能做个综合性的介绍,以便初学者可快速上手使用 HT ...
随机推荐
- input的表单验证(不断更新中~~)
1 手机号验证 <input type="tel" id="phone" name="phone" placeholder=" ...
- 人物-旅行-潘德明-Info:《近代中国徒步环游世界第一人:潘德明 》
ylbtech-人物-旅行-潘德明-Info:<近代中国徒步环游世界第一人:潘德明 > 1.返回顶部 1. 近代中国徒步环游世界第一人:潘德明 2016-10-12 18:01 “以世界为 ...
- SPSS能做Cochran-Armitage趋势检验吗
SPSS能做Cochran-Armitage趋势检验吗 Cochran-Armitage (CA) 趋势检验是一种用于分析1个二分类变量和1个有序分类变量关联性的统计方法,由Cochran和Armti ...
- could not insert: [com.trs.om.bean.UserLog] The user specified as a definer ('root'@'127.0.0.1') does not exist
2019-07-01 11:24:09,315 [http-8080-24] org.hibernate.util.JDBCExceptionReporter logExceptionsWARN: S ...
- poj2195&&hdu1533 最小费用流
这题也可以用km做,我写的代码km比费用流快很多. 最小费用流: #include<stdio.h> #include<string.h> #include<math.h ...
- 基于jQuery的自定义滚动条
在线演示 本地下载
- IDEA入门(1)--lombok和Junit generator2插件的运用
前言 最近在慕课网看到了一些视频,准备从0开始做一个电商网站.视频中的大牛用的java的IDE都是IDEA,让我很纠结.从as到MyEclipse,好不容易稍微熟悉了一下MyEclipse的基本操作, ...
- 从Kubernetes 1.14 发布,看技术社区演进方向
Kubernetes 1.14 正式发布已经过去了一段时间,相信你已经从不同渠道看过了各种版本的解读. 不过,相比于代码 Release,马上就要迎来5周岁生日的Kubernetes 项目接下来如何演 ...
- phpexcel使用说明5----ThinkPHP+PHPExcel[导入][导出]实现方法
转自:http://www.thinkphp.cn/code/403.html实现步骤: 注意:phpexcel必须是1.78版本的,不能用1.8以上的 一:去官网http://phpexcel.co ...
- python字符串、元组常用操作
常用字符串操作函数: #Author:CGQ name="I \tam ChenGuoQiang" print(name.capitalize())#首字母大写,其他都小写 pri ...