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 题意:找如果使图中某一行某一列全部变成黑色,至少需要把多少个白方格变成黑方格 思路:直接找就可以,注意存储的时候要记得进行分开存储,存储 ...
随机推荐
- Java8的新特性--Optional
目录 Optional 一.Optional类是什么? 二.Optional类常用的方法 1. 创建Optional实例 1.1 Optional.of(T) 1.2 Optional.empty() ...
- 使用docker搭建sonarqube
sonarqube是一款代码质量检查工具,使用sonar扫描我们写过的代码,可以有助于检查出代码的bug.规范性和健壮性,有助于提高我们的代码质量. 一.安装docker 安装完成之后,命令行输入 d ...
- Git 在解决冲突的时候文件覆盖
更新代码导致被还原或覆盖的场景:1.触发冲突的必要条件是修改同一个文件且修改的位置非常近,否则Git会自动合并其内容避免更新代码导致被还原或覆盖的解决方案1.少修改的地方(生产环境.公网测试环境):推 ...
- Java学习之随机数的用法
•前言 随机数的产生在一些代码中很常用,也是我们必须要掌握的. 而 Java 中产生随机数的方法主要有三种: new Random() Math.random() currentTimeMillis( ...
- 复制文件--cp
cp file1 file2 将文件拷贝到指定路径下 cp -r dir1 dir2 将文件夹拷贝到指定路径下
- 移动文件--mv
mv file srcpath 将文件移动到指定目录下 mv dir srcpath 将文件移动到指定目录下
- [DFS]特殊的质数肋骨
特殊的质数肋骨 时间限制:1000MS----内存限制:256000KB 题目描述 农民约翰母牛总是产生最好的肋骨. 你能通过农民约翰和美国农业部标记在每根肋骨上的数字认出它们. 农民约翰确定他卖给买 ...
- docker命令快速入门
docker快速入门系列 Docker hello world hello world $ docker run ubuntu:15.10 /bin/echo "Hello world&qu ...
- C++运算符重载的一些困惑
一.背景 在复习<C++基础与提高>时,自己实现运算符重载(i++)时,几次都报错.其实还是自己对运算符重载这一部分内容理解得不够透彻,于是再次看了下书上的内容,理解算是加深了一些,于是提 ...
- 为Github的README.md生成目录的小工具
1 概述 因为Github的README.md文件[TOC]不生效,因此封装了一个别人已封装好的JAR包供大家使用. 2 使用方法 用Java做的,只需要JDK11以上的环境: java -jar t ...