7-9 特立独行的幸福

题意:见PTA

思路:其实就是遍历进行查找,利用递归函数,为了解决是特立独行,还要用一个全局数组进行存储所有满足条件的数进行去重标记,最后在输出的时候进行判断是否是只读取过一次

注意:数组一定开的大于1e5,而且这个特立独行与这个数是不是自身的加和是某个数的平方无关

代码:

 1 #include<iostream>
2 #include<algorithm>
3 #include<cstdio>
4 #include<cmath>
5 #include<cstring>
6 using namespace std;
7 int n[100005]={0};
8 int sum=0;
9 int nn[100005]={0};
10 int maxx=0;
11 int judge(int num){
12 if(num>maxx){
13 maxx=num;
14 }
15 if(n[num]==1){
16 return -1;
17 }else{
18 sum++;
19 n[num]++;
20 nn[num]++;
21 if(num==1||num==10||num==100||num==1000||num==10000){
22 return sum;
23 }else{
24 if(num/10==0){
25 return judge(num*num);
26 }else if(num/100==0){
27 return judge((num/10)*(num/10)+(num%10)*(num%10));
28 }else if(num/1000==0){
29 return judge((num/100)*(num/100)+(num%10)*(num%10)+(num/10%10)*(num/10%10));
30 }else{
31 return judge((num/1000)*(num/1000)+((num%1000)/100)*((num%1000)/100)+((num%1000)%10)*((num%1000)%10)+((num%1000)/10%10)*((num%1000)/10%10));
32 }
33 }
34
35 }
36 }
37 int s(int num){//判断素数
38 for(int i=2;i<=sqrt(num);i++){
39 if(num%i==0){
40 return 0;
41 }
42 }
43 return 1;
44 }
45
46 int main(){
47 int a,bb;
48 scanf("%d %d",&a,&bb);
49 int flag=0;
50 int b[10010][2]={0};
51 int js=0;
52 for(int i=a;i<=bb;i++){
53 sum=0;
54 for(int j=0;j<=maxx;j++){
55 n[j]=0;
56 }
57 int jj=judge(i);
58 if(jj!=-1){
59 b[js][0]=i;
60 b[js][1]=jj;
61 js++;
62 }
63 }
64 for(int i=0;i<js;i++){
65 if(nn[b[i][0]]==1){
66 flag++;
67 if(s(b[i][0])==1){
68 printf("%d %d\n",b[i][0],b[i][1]*2);
69 }else{
70 printf("%d %d\n",b[i][0],b[i][1]);
71 }
72 }
73 }
74 if(flag==0){
75 printf("SAD\n");
76 }
77
78 }

7-12 功夫传人

题意:见PTA

思路:就是用结构体存入,将突变的进行存入进去

注意:1.一开始全部使用结构体存入之后结构体数组会溢出

代码:

 1 #include<iostream>
2 #include<cstdio>
3 #include<cmath>
4 #include<cstring>
5 #include<algorithm>
6 #include<map>
7 #include<set>
8 #include<queue>
9 using namespace std;
10 const int maxx=1e4+10;
11 typedef long long ll;
12 typedef unsigned long long ull;
13 struct A{
14 int bf;
15 double gl;
16 }g[100010];
17 struct B{
18 int bh;
19 int gs;
20 int a[10000];
21 }p[500];
22 int main(){
23 double n,m,t,z,r;
24 int x,y;
25 for(int i=0;i<100001;i++){
26 g[i].bf=0;
27 g[i].gl=0;
28 }
29 cin>>n>>z>>r;
30 g[0].bf=1;
31 g[0].gl=z;
32 double ans=0;
33 r=(1-r/100);
34 int index=0;
35 for(int i=0;i<n;i++){
36 cin>>x;
37 if(g[i].bf!=0){
38 if(x==0){
39 cin>>y;
40 ans+=(g[i].gl*y);
41 }
42 else{
43 for(int j=0;j<x;j++){
44 cin>>y;
45 g[y].bf=g[i].bf+1;
46 g[y].gl=g[i].gl*r;
47 }
48 }
49 }
50 else{
51 p[index].bh=i;
52 p[index].gs=x;
53 if(x==0){
54 cin>>p[index].a[0];
55 }
56 else{
57 for(int j=0;j<x;j++){
58 cin>>p[index].a[j];
59 }
60 }
61 index++;
62 }
63 }
64 for(int i=0;i<index;i++){
65 if(p[i].gs==0){
66 ans+=(g[p[i].bh].gl*p[i].a[0]);
67 }
68 else{
69 for(int j=0;j<p[i].gs;j++){
70 g[p[i].a[j]].bf=g[p[i].bh].bf+1;
71 g[p[i].a[j]].gl=g[p[i].bh].gl*r;
72 }
73 }
74 }
75 printf("%d",(int)ans);
76 return 0;
77 }

QFNU 10-30 training的更多相关文章

  1. gnuWin32-mini-2016.10.30

    2016-10-28 04:48 1,017,856 awk.exe ver 4.1.4 2016-10-29 00:26 77,312 bc.exe ver 1.06 2016-10-30 01:4 ...

  2. 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox

    [源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...

  3. 2016.10.30 NOIP模拟赛 day2 PM 整理

    满分:300分 直接全部爆零,真的是很坑啊! 10.30的题目+数据:链接:http://pan.baidu.com/s/1jHXLace 密码:i784 T1: 题目中的难点就是每次折叠的点可能应经 ...

  4. 10.30 正睿停课训练 Day12

    目录 2018.10.30 正睿停课训练 Day12 A 强军战歌(DP 树状数组 容斥) B 当那一天来临(思路) C 假如战争今天爆发(贪心) 考试代码 B C 2018.10.30 正睿停课训练 ...

  5. 第18次Scrum会议(10/30)【欢迎来怼】

    一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/30 17:19~17:38,总计19min.地点:东北师 ...

  6. 2016.10.30 NOIP模拟赛 day2 AM 整理

    题目+数据:链接:http://pan.baidu.com/s/1gfBg4h1 密码:ho7o 总共得了:130分, 1:100分  2:30分(只会这30分的暴力) 3:0(毫无思路) 虽然不高, ...

  7. 10.30 afternoon

    P76竞赛时间: ????年??月??日??:??-??:?? 题目名称 他 她 它 名称 he she it 输入 he.in she.in it.in 输出 he.out she.out it.o ...

  8. [软件工程基础]2017.10.30 第三次 Scrum 会议

    决议 游心与李煦通沟通生成报告脚本问题,并调试相应代码 李煦通部署服务器,并做一定安全检查 石奇川设计实验流程和题库前端页面 王嘉睿爵测试网站基本流程,提出关于用户体验方面的建议 刘子渊阅读代码,为机 ...

  9. sql 从未连续的Id中选择10~30条数据

    select * from(select *,row_number()over(order by ProductID) as num from Products) as t where t.num&g ...

  10. QFNU 10-02 19 training

    B - Yet Another Crosses Problem 题意:找如果使图中某一行某一列全部变成黑色,至少需要把多少个白方格变成黑方格 思路:直接找就可以,注意存储的时候要记得进行分开存储,存储 ...

随机推荐

  1. Vue3手册译稿 - 深入组件 - 自定义事件

    本章节需要掌握组件基础 emit我译成发射,觉得发射这个词比较形象的形容将子组件事件发射出来的一个动作. 事件名 像组件和props,事件名也会进行自动转换,如果你在子组件里发射一个驼峰命名的事件,你 ...

  2. python-类的隐藏和封装

    7 """ 8 封装是面对对象的三大特征之一(另外两个是集成和多态),它指的是将对象> 的信息隐藏在对象的内部,不允许外部程序直接访问对象内部信息,而是通> ...

  3. c++ 反汇编 堆变量

    malloc _malloc 0037E8C0 8B FF mov edi,edi 0037E8C2 55 push ebp 0037E8C3 8B EC mov ebp,esp 0037E8C5 6 ...

  4. Scrum完整项目实例

    一.背景 在谈 JIRA 之前,就不得不说说敏捷开发了.正式由于项目是基于敏捷开发进行的,因此才引入了 JIRA 这款适合于敏捷开发的项目管理工具.当然,这里不会大篇章的介绍敏捷开发,之前的文章有详细 ...

  5. 全网最详细的Linux命令系列-less命令

    less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大.less 的用法比起 more 更加的有弹性.在 more 的时候,我们并没有办法向前面翻 ...

  6. 201871010130-周学铭 实验三 结对项目—《D{0-1}KP 实例数据集算法实验平台》项目报告

    项目 内容 课程班级博客链接 18卓越班 这个作业要求链接 实验三结对编程要求 我的课程学习目标 体验软件项目开发中的两人合作,练习结对编程(Pair programming).掌握Github协作开 ...

  7. Java中获取类的运行时结构

    获取运行时类的完整结构 通过反射获取运行时类的完整结构 Field(属性).Method(方法).Constructor(构造器).Superclass(父类).Interface(接口).Annot ...

  8. 消息中间件-RabbitMQ消息可靠性和插件化机制

    package com.study.rabbitmq.a132.confirm; import com.rabbitmq.client.*; import java.io.IOException; i ...

  9. Mysql之读写分离架构-Atlas

    Atlas介绍 1.png ​ Atlas是由 Qihoo 360, Web平台部基础架构团队开发维护的一个基于MySQL协议的数据中间层项目. 它是在mysql-proxy 0.8.2版本的基础上, ...

  10. Digit Counting UVA - 1225

    ​ Trung is bored with his mathematics homeworks. He takes a piece of chalk and starts writing a sequ ...