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. gtk---实现一个登录界面

    输入框 如果在GTK+中需要输入一个字符串,可以使用输入框,这是一个单行的输入构件,可以用于输入和显示正文内容. 输入框的基本操作函数 1.gtk_entry_new(void); 这是新建一个输入框 ...

  2. 攻防世界 reverse 进阶 16-zorropub

    16.zorropub  nullcon-hackim-2016 (linux平台以后整理) https://github.com/ctfs/write-ups-2016/tree/master/nu ...

  3. 微信小程序 | flex布局属性

    flex-direction 主轴方向 row: 横向 row-reverse: 横向倒序 column: 纵向 column-reverse: 纵向倒序; flex-wrap 元素排列换行 nowr ...

  4. java例题_13 加上100再加上168的完全平方数问题

    1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...

  5. Android Studio 之生成正式签名的 APK 文件

    生成 APK 文件 •步骤 点击  Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...

  6. centos 7升级gcc到10.2.0

    安装gcc 由于 Linux 操作系统的自由.开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS.Ubuntu.Debian 等.这些 Linux 发行版中,大多数都默认装有 ...

  7. 软工案例分析作业-CSDN

    项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 提升软件开发能力与团队意识 这个作业在哪个具体方面帮助我实 ...

  8. 呵呵,Semaphore,就这?

    这是并发线程工具类的第二篇文章,在第一篇中,我们分析过 CountDownLatch 的相关内容,你可以参考 一文搞懂 CountDownLatch 用法和源码! 那么本篇文章我们继续来和你聊聊并发工 ...

  9. 告别DNS劫持,一文读懂DoH

    如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务.尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什么大幅改变 ...

  10. Spring Boot demo系列(十):Redis缓存

    1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 ...