2020蜀山区,分数线230

|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------|------|----|---|
| Accepted | P2635 平均年龄 | 1263 | 31 | 6 |
| Accepted | P2636 解密 | 2093 | 26 | 5 |
| Accepted | P2637 数字游戏(number) | 2791 | 9 | 5 |
| Accepted | P2638 寻宝 | 1828 | 26 | 5 |

平均年龄

1000ms 256MB

题目描述

新学期开学了,学校要统计各班同学的年龄,小莹莹班上有若干名学生,现在给出每名学生的年龄(整数),要统计班上所有学生的平均年龄(四舍五入取整)。

输入格式

第一行有一个整数 n(1≤n≤100) ,表示学生的人数。其后 n 行每行有 1 个整数,表示每个学生的年龄,取值为 8 到 25。

输出格式

输出一行,该行包含一个整数,为要求的平均年龄(四舍五入取整)。

样例

输入#1

复制代码
2
8
10

输出#1

复制代码
9

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int  main()
{
    int n,a;
    float s=0;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a;
        s=s+a;
    }
    s=s/n;
    cout<<round(s);
}

解密

1000ms 256MB

题目描述

亶亶最近在学习计算机密码学,密码学是一门古老而又年轻的学问,计算机科学的兴起给密码学注入了新的活力。在网络、通信技术高度发达的今天,计算机安全和保密问题显得越来越重要。菅董在学习过程中遇到了这样一个任务:解密一份被加密过的文件。经过研究,莹萱发现了加密文件有如下加密规律(括号中是一个"原文->密文"的例子)

(1)原文中所有的字符都在字母表中被循环左移了三个位置(dec ->abz)

(2)逆序存储(abcd -> dcba )

(3)字母大小写反转(abXY ->ABxy)

输入格式

一个加密的字符串。(长度大于1且小于50且只包含大小写字母)

输出格式

输出解密后的字符串。

样例

输入#1

复制代码
Helloworld

输出#1

复制代码
GOURZROOHk

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
    string s;
    cin >> s;
    for(int i=0;i<s.size();i++) //向右移动
    {
        if((s[i]<='Z'&&s[i]+3>'Z') || (s[i]<='z'&&s[i]+3>'z'))
        {
            s[i]=s[i]-26;
        }
        s[i]+=3;
    }
    string a;
    for(int i=0;i<s.size();i++) //逆序+大小写转换
    {
        char t = s[s.size()-1-i];
        if(t>='A'&&t<='Z') t+=32;
        else t-=32;
        a.push_back(t);
    }
    cout<<a;
}

数字游戏(number)

1000ms 256MB 展开

题目描述

小莹莹刚学习完约数的知识,一个数的约数指能整除这个数的正整数。周末,小莹莹和几个朋友一起玩耍,刚学习完约数知识的小莹莹迫不及待的想给小朋友们展示一下她的本领,她和几个朋友一起玩起了这样一个游戏:给你一个整数 N,需要算出这个数所有的约数的和。例如 1515 的数有 1,3,5,151,3,5,15。所以 1515 的约数和为 1+3+5+15=241+3+5+15=24。

输入格式

本题有多组数据,第一行一个 T,表示有 T 组数据;

下面 T 行,每行一个正整数 N,表示要处理的数。

输出格式

T 行,每行一个正整数,表示输入中对应的数的约数和。

样例

输入数据#1

复制代码
1
15

输出数据#1

复制代码
24

数据范围

  • 对于 20%20%的数据,T=1
  • 对于 50%50%的数据,T≤5000
  • 对于 80%80%的数据,T≤50000
  • 对于 100%100% 的数据,T≤500000,N≤5000000。

题解:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
int ddd[5000001];
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    int t,a;
    cin>>t;
    for(int i=1;i<=t;i++)
    {
        cin>>a;
        if(ddd[a]!=0)
        {
            cout<<ddd[a]<<"\n";
        }
        else
        {
            long long s=0;
            for(int j=1;j*j<=a;j++)
            {
                if(a%j==0)
                {
                    s+=j;
                    if(a/j!=j)
                    {
                        s+=a/j;
                    }
                }
            }
            ddd[a]=s;
            cout<<s<<"\n";
        }
    }
}

寻宝

1000ms 256MB 展开

题目描述

小萱萱参加了一个"寻宝"游戏:

在一排均匀排列的树上,被随机放置了一个"宝贝",看谁能以最少的时间找到这个"宝贝"。每一个寻宝的人开始会站在第 N(0≤N≤100000) 棵树边,假设树有 100001100001 棵,"宝贝"被放在第K(0≤K≤100000) 棵树上,寻宝人有两种移动办法------步行和跳跃。假如寻宝人现在在第 X 棵树边,步行每秒可以从第 X 棵树向第 X−1 棵和第 X+1 棵树走去,跳跃可以让她在 11 秒内从第 X 棵树直接跳到第 2X 棵树边(假如他有超能力完成跳跃,跳跃过程中不能超过树的边界)。

现在要求找到"宝贝"需要的最短时间。

输入格式

仅有两个整数 N 和 K。

输出格式

找到"宝贝"的最短时间。

样例

输入数据#1

复制代码
5 17

输出数据#1

复制代码
4

题解:

cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int mn[1000001];
int main()
{
    int n,k;
    cin>>n>>k;
    if(n>=k)
    {
        cout<<n-k;
        return 0;
    }
    queue<int>a;
    queue<int>b;
    a.push(n);
    b.push(0);
    while(!a.empty()&&!b.empty())
    {
        int da=a.front();
        a.pop();
        int db=b.front();
        b.pop();
        if(da==k)
        {
            cout<<db<<endl;
            return 0; 
        }
        if(da*2<=2*k&&!mn[da*2])
        {
            mn[da*2]=1;
            a.push(da*2);
            b.push(db+1);
        }
        if(da+1<=2*k&&!mn[da+1])
        {
            mn[da+1]=1;
            a.push(da+1);
            b.push(db+1);
        }
        if(da-1>0&&!mn[da-1])
        {
            mn[da-1]=1;
            a.push(da-1);
            b.push(db+1);
        }
    }
}
相关推荐
老猿讲编程4 小时前
C++中的奇异递归模板模式CRTP
开发语言·c++
.格子衫.5 小时前
022数据结构之树状数组——算法备赛
数据结构·算法·1024程序员节
黑科技Python5 小时前
生活中的“小智慧”——认识算法
学习·算法·生活
Yupureki5 小时前
从零开始的C++学习生活 16:C++11新特性全解析
c语言·数据结构·c++·学习·visual studio
紫荆鱼5 小时前
设计模式-迭代器模式(Iterator)
c++·后端·设计模式·迭代器模式
sali-tec6 小时前
C# 基于halcon的视觉工作流-章52-生成标定板
开发语言·图像处理·人工智能·算法·计算机视觉
IT古董6 小时前
【第五章:计算机视觉-项目实战之推荐/广告系统】2.粗排算法-(4)粗排算法模型多目标算法(Multi Task Learning)及目标融合
人工智能·算法·1024程序员节
熬了夜的程序员6 小时前
【LeetCode】89. 格雷编码
算法·leetcode·链表·职场和发展·矩阵
应茶茶6 小时前
C++11 核心新特性:从语法重构到工程化实践
java·开发语言·c++
對玛祷至昏7 小时前
数据结构理论知识
数据结构·算法·排序算法