链接: https://www.nowcoder.com/acm/contest/107/G
来源:牛客网

题目描述

众所周知,汀老师是XDUACM实验室最优秀的人,无论是学习还是打游戏。今天他突然想到一个好玩的游戏。规则是这样的,在游戏中他要得到n个小国,初始的时候小国和小杰各有1个。经过了很久的修炼,汀老师学会了两种魔法,他每次可以动用自己的智慧来使用魔法。

第一个魔法:(小杰变小国)可以将自己的智慧复制和当前小杰一样数量的小国出来;

第二个魔法:(小国大爆发)可以将当前的小杰变成和小国的数量一样,然后小国的数量加倍!

因为汀老师的智力是无限多的,他不关心花掉的智力大小。但是好学的汀老师想尽快得到n个小国,使得能有更多的时间去读paper和打比赛。他想问问你,最少需要使用多少次魔法可以得到n个小国。

得到了n个小国后,汀老师去学习,但是小国们基因突变在电脑里越来越多!他们来组织汀老师学习,现在告诉汀老师我要得到更多的同伴!

输入描述:

多组数据,第一行一个正整数T(T<=100000)表示数据组数。
接下来T行,每行一个正整数n(n<=10^6)。

输出描述:

对于每组数据输出一个整数,表示得到n个小国汀老师最少需要使用多少次膜法。
示例1

输入

2
1
3

输出

0
2

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int vis[1000010];
long long Ans=0;
inline void dfs(int x,int now,int sum) {if(x==1) {Ans+=sum*(now-1);return;}if(vis[x]!=now) {Ans+=sum*(now-1);dfs(x/vis[x],vis[x],1);}elsedfs(x/vis[x],now,sum+1);
}
int main() {memset(vis,0x3f,sizeof vis);vis[1]=1;for(int i=2;i<=1e6;++i)if(vis[i]==0x3f3f3f3f)for(int j=i;j<=1e6;j+=i)vis[j]=min(vis[j],i);int T,x;cin>>T;while(T--) {cin>>x;Ans=0;dfs(x,0,0);cout<<Ans<<endl;}
}

西安电子科技大学第16届程序设计竞赛G题相关推荐

  1. 西安电子科技大学第16届程序设计竞赛 F题

    链接: https://www.nowcoder.com/acm/contest/107/F 来源:牛客网 题目描述 在学习Operating System的过程中,Glory遇到了这样一个问题,现在 ...

  2. 西安电子科技大学第16届程序设计竞赛 E题

    链接: https://www.nowcoder.com/acm/contest/107/E 来源:牛客网 题目描述 众所周知,Xieldy最常用的口令是******. 为了改变这一现状,他rando ...

  3. 西安电子科技大学第16届程序设计竞赛 C题

    链接:https://www.nowcoder.com/acm/contest/107/C 来源:牛客网 题目描述 Arch0n老师is a rich man, 他靠自己的才华和智商年纪轻轻就赚了不少 ...

  4. 江西财经大学第一届程序设计竞赛 G题小Q的口袋校园

    题目链接:https://www.nowcoder.com/acm/contest/115/G 解题思路:题解就一份代码,贪心的思想.先按开始时间进行排序. 然后不断贪心获得happy[ j ]的最大 ...

  5. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛(重现赛)题解

    题目链接: 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛(重现赛)_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ大学ACM校赛新生赛是面向ACM/ICPC/CCP ...

  6. 北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛题解

    北京信息科技大学第十三届程序设计竞赛暨ACM选拔赛题解 A lzh的蹦床 B 所谓过河 C 旅行家问题1 D 旅行家问题2 E 小菲和Fib数列 F 好玩的音乐游戏 G ranko的手表 H 字母收集 ...

  7. 大学计算机西安电子科技大学答案,计算机网络技术与应用课后题答案(西安电子科技大学)...

    计算机网络技术与应用课后题答案(西安电子科技大学) <计算机网络应用基础>试题(1) 一.填空题(每空1分,共24分,答案写在横线上) 1.按逻辑组成划分,计算机网络是由和两部分组成的. ...

  8. 哈尔滨理工大学第12届程序设计竞赛--ADK题

    A割韭菜--线段树 题目链接: A-割韭菜_哈尔滨理工大学第12届程序设计竞赛(同步赛) (nowcoder.com) #include <bits/stdc++.h>using name ...

  9. 2018年北京信息科技大学第十届程序设计竞赛暨ACM选拔赛题解

    链接:https://www.nowcoder.com/acm/contest/118/A 来源:牛客网 PUBG 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语 ...

最新文章

  1. Git 使用规范流程
  2. hive左关联剔除和where 剔除不一致
  3. 520戏精上身!纸短情长,一句顶一万句的花式告白语抱走不谢!
  4. Eigen有哪些需要注意的操作
  5. 如何判断对象是否存活之引用计数发
  6. 机器视觉行业市场现状及发展前景分析
  7. matplotlib图表介绍
  8. Qt OpenGL 图像的平移(使用glTranslatef)
  9. python 混淆矩阵_新手常见的5个Python错误
  10. NoSQL 数据库分类
  11. 苹果id可以同时用两个手机吗_科技V报余承东:鸿蒙OS随时可用于手机;疑似魅族16s Pro通过3C认证20190809...
  12. Win7升Windows10有获取通知,但是就不推送的解决方法
  13. windows环境下sqlmap安装教程及问题详解
  14. 第6课 - 开发中的辅助工具
  15. 计算机指数函数表示法,指数函数(第1课时)教学设计.doc
  16. i18n国际语言代码对照表
  17. 如何将Kali Linux中的Firefox浏览器语言设置为中文
  18. php银行卡号查询接口,银行卡归属地查询
  19. 视频水印去除工具哪个好
  20. 一个程序小白的大胆尝试 (鸡汤)

热门文章

  1. 讲述Sagit.Framework解决:双向引用导致的IOS内存泄漏(上)
  2. [linux]centos7下解决yum install mysql-server没有可用包
  3. TSP - 状态压缩dp
  4. bootstrap源码分析之Carousel
  5. 《Cracking the Coding Interview》——第18章:难题——题目3
  6. YII框架开发一个项目的通用目录结构:
  7. Object-c基础之一:#import,NSLog(),数据类型
  8. c++ 无法读取内存_Linux内存机制以及手动释放swap和buffer和cache
  9. xpcom java_[Mozilla] JavaXPCOM 的jar 包概述
  10. php旋转数组找出最小的,LeetCode 153 寻找旋转排序数组中的最小值