QFNU 10-30 training
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的更多相关文章
- 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 ...
- 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox
[源码下载] 背水一战 Windows 10 (30) - 控件(文本类): AutoSuggestBox 作者:webabcd 介绍背水一战 Windows 10 之 控件(文本类) AutoSug ...
- 2016.10.30 NOIP模拟赛 day2 PM 整理
满分:300分 直接全部爆零,真的是很坑啊! 10.30的题目+数据:链接:http://pan.baidu.com/s/1jHXLace 密码:i784 T1: 题目中的难点就是每次折叠的点可能应经 ...
- 10.30 正睿停课训练 Day12
目录 2018.10.30 正睿停课训练 Day12 A 强军战歌(DP 树状数组 容斥) B 当那一天来临(思路) C 假如战争今天爆发(贪心) 考试代码 B C 2018.10.30 正睿停课训练 ...
- 第18次Scrum会议(10/30)【欢迎来怼】
一.小组信息 队名:欢迎来怼小组成员队长:田继平成员:李圆圆,葛美义,王伟东,姜珊,邵朔,冉华 小组照片 二.开会信息 时间:2017/10/30 17:19~17:38,总计19min.地点:东北师 ...
- 2016.10.30 NOIP模拟赛 day2 AM 整理
题目+数据:链接:http://pan.baidu.com/s/1gfBg4h1 密码:ho7o 总共得了:130分, 1:100分 2:30分(只会这30分的暴力) 3:0(毫无思路) 虽然不高, ...
- 10.30 afternoon
P76竞赛时间: ????年??月??日??:??-??:?? 题目名称 他 她 它 名称 he she it 输入 he.in she.in it.in 输出 he.out she.out it.o ...
- [软件工程基础]2017.10.30 第三次 Scrum 会议
决议 游心与李煦通沟通生成报告脚本问题,并调试相应代码 李煦通部署服务器,并做一定安全检查 石奇川设计实验流程和题库前端页面 王嘉睿爵测试网站基本流程,提出关于用户体验方面的建议 刘子渊阅读代码,为机 ...
- sql 从未连续的Id中选择10~30条数据
select * from(select *,row_number()over(order by ProductID) as num from Products) as t where t.num&g ...
- QFNU 10-02 19 training
B - Yet Another Crosses Problem 题意:找如果使图中某一行某一列全部变成黑色,至少需要把多少个白方格变成黑方格 思路:直接找就可以,注意存储的时候要记得进行分开存储,存储 ...
随机推荐
- gtk---实现一个登录界面
输入框 如果在GTK+中需要输入一个字符串,可以使用输入框,这是一个单行的输入构件,可以用于输入和显示正文内容. 输入框的基本操作函数 1.gtk_entry_new(void); 这是新建一个输入框 ...
- 攻防世界 reverse 进阶 16-zorropub
16.zorropub nullcon-hackim-2016 (linux平台以后整理) https://github.com/ctfs/write-ups-2016/tree/master/nu ...
- 微信小程序 | flex布局属性
flex-direction 主轴方向 row: 横向 row-reverse: 横向倒序 column: 纵向 column-reverse: 纵向倒序; flex-wrap 元素排列换行 nowr ...
- java例题_13 加上100再加上168的完全平方数问题
1 /*13 [程序 13 根据条件求数字] 2 题目:一个整数,它加上 100 后是一个完全平方数,再加上 268 又是一个完全平方数,请问该数是多少? 3 程序分析:在 10万以内判断,先将该数加 ...
- Android Studio 之生成正式签名的 APK 文件
生成 APK 文件 •步骤 点击 Build -> Generate Signed...... : 来到如下界面: 选择 APK 选项,点击 Next 来到如下界面: 如果你电脑上没有一个正式 ...
- centos 7升级gcc到10.2.0
安装gcc 由于 Linux 操作系统的自由.开源,在其基础上衍生出了很多不同的 Linux 操作系统,如 CentOS.Ubuntu.Debian 等.这些 Linux 发行版中,大多数都默认装有 ...
- 软工案例分析作业-CSDN
项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 提升软件开发能力与团队意识 这个作业在哪个具体方面帮助我实 ...
- 呵呵,Semaphore,就这?
这是并发线程工具类的第二篇文章,在第一篇中,我们分析过 CountDownLatch 的相关内容,你可以参考 一文搞懂 CountDownLatch 用法和源码! 那么本篇文章我们继续来和你聊聊并发工 ...
- 告别DNS劫持,一文读懂DoH
如果评选一个差评服务器榜单,除去育碧高居榜首外,一定也少不了 Nintendo Switch 让人头秃的联网服务.尽管任天堂已经架设了香港 CDN 服务器用于加速,但是更新安装的速度也没有什么大幅改变 ...
- Spring Boot demo系列(十):Redis缓存
1 概述 本文演示了如何在Spring Boot中将Redis作为缓存使用,具体的内容包括: 环境搭建 项目搭建 测试 2 环境 Redis MySQL MyBatis Plus 3 Redis安装 ...