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. python--requests模块详解

    GET请求 首先构造一个最简单的get请求,请求的链接为http://httpbin.org/get import requests 2 r = requests.get("http://h ...

  2. P1149_火柴棒等式(JAVA语言)

    题目描述 给你n根火柴棍,你可以拼出多少个形如"A+B=C"的等式?等式中的A.B.C是用火柴棍拼出的整数(若该数非零,则最高位不能是0).用火柴棍拼数字0-90−9的拼法如图所示 ...

  3. Scientific Internet Access

    下载小飞机 https://github.com/shadowsocksr-backup 寻找ssr https://github.com/Alvin9999/new-pac/wiki/ss%E5%8 ...

  4. 10、MyBatis教程之一对多处理

    11.一对多处理 一对多的理解: 一个老师拥有多个学生 如果对于老师这边,就是一个一对多的现象,即从一个老师下面拥有一群学生(集合)! 1.实体类编写 @Data public class Stude ...

  5. [图论]最短路径问题 :Floyed-Warshall

    最短路径问题 目录 最短路径问题 Description Input Output Sample Input Sample Output 解析 了解Floyed算法 Floyed算法的核心思想: 代码 ...

  6. 翻译:《实用的Python编程》09_02_Third_party

    目录 | 上一节 (9.1 包) | 下一节 (9.3 版本分发) 9.2 第三方模块 Python 拥有一个包含各种内置模块的大型库(自带电池(batteries included))(译注:&qu ...

  7. Java(215-231)【Object类、常用API】

    1.Object类的toString方法 java.lang.Object 类 Object 是类层次结构的根(父)类. 每个类(Person,Student...)都使用 Object 作为超(父) ...

  8. 测开新手:从0到1,自动化测试接入Jenkins学习

    大家好,我叫董鑫,一个在测试开发道路上的新手,之前一直从事手工功能测试,前段时间抽空又温习了一遍老师全栈测开训练营中自动化测试.CICD的知识,最近公司正好有一个项目可以实践练手,趁热打铁,将自动化测 ...

  9. Axure常用操作备忘

    目录 前言 技巧 边框重合 复制对象文本居中 复制粘贴样式 文本自适应 给图形添加连接点 导出图片无空白 前言 下面列出Axure画图过程中曾经遇到过的问题,备忘一下,避免别人也走弯路,法布施一下~ ...

  10. 博客之初体验-----python初了解

    ---恢复内容开始--- 1.python2.x与python3.x的区别 (1) 2.x的默认编码是ASSIC码,不支持中文 (2) 3.x的默认编码是UNICODE,支持中文 (3) 2.x版本与 ...