贵工程程序设计团体赛(上)

简介: 贵工程程序设计团体赛

7-1 成绩等级

PAT考试每年举办三次,分为Top、Advanced和Basic三个级别。小明的公司正在招聘程序员,主要关注Basic这个等级成绩。很多应聘者提供了他们的Basic级别的PAT考试分数。

对2016年三次PAT考试的分数做了一番研究之后,小明的公司给出了一个规则把应聘者划分为A、B 2个等级:如果分数小于底线L,则为B级,否则就是A级。

请编写程序帮忙计算应聘者的等级。


输入格式:

在一行中给出2个整数L和G。0<L<100, 0<=G<=100。


输出格式:

在一行中输出应聘者的等级。


输入样例:

75 89


输出样例:

A
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int a,b;
    cin >> a >> b;
    if(b < a) cout << "B";
    else cout << "A";
    return 0;
}


7-2 h0001.Hello World! (5 分)

本题要求编写程序,输出一个短句“Hello World!”。


输入格式:

本题目没有输入。

输出格式:

在一行中输出短句“Hello World!”。


输入样例:


输出样例:

Hello World!
#include <bits/stdc++.h>
using namespace std;
int main()
{
    cout << "Hello World!";
    return 0;
}


7-3 h0055. 长方体

给出共享长方体一个顶点的三个面的面积,求它十二条边的边长和。

输入格式:

每行三个整数a, b, c表示面积(1 <= a, b, c <= 10000)。

输出格式:

相应行一个整数表示边长和。


输入样例:

1 1 1
4 6 6


输出样例:

12
28


#include <bits/stdc++.h>
using namespace std;
int main()
{
    double a, b, c;
    while(cin >> a >> b >> c)
    {
        double x = sqrt(a * b / c);
        double y = sqrt(a * c / b);
        double z = sqrt(b * c / a);
        printf("%.0f\n",4 * (x + y + z));
    }
    return 0;
}


7-4 Jack cheng的烦恼

Jack cheng 一出生就表现出非同一般的天赋 , 异常的聪明,对于老师教授的知识他总是一点就会, 其中Jack cheng尤其擅长数学,喜欢计算机。课下之余他自己学习了一些编程知识,然而遗憾的是他并不能看懂Code。现在他遇到了一个问题,他想要编程一个进制转换的计算器,他需要我们这些专业人士帮忙。。。


简单点, 我们要帮Jackcheng 实现一个十进制和二进制互转的计算器。


输入格式:

输入n , m 。 n 代表要进行转换的数字(n>=0 && n <= 1000000) , m 代表需要转换成的进制。


输出格式:

将转换后的数据输出。


输入样例:

8 2


输出样例:

1000
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n, m;
    cin >> n >> m;
    if(m == 2) //  10转2
    {
        string s;
        while(n)
        {
            s += n % m + '0';
            n /= m;
        }
        for(int i = s.size() - 1; i >= 0; i -- )
            cout << s[i];
    }
    else //  2转10
    {
        int sum = 0, k = 0;
        while(n)
        {
            sum += n % 10 * pow(2, k);
            k ++ ;
            n /= 10;
        }
        cout << sum;
    }
    return 0;
}


7-5 毕业照

你拍了一张毕业生的毕业照。这幅图可以看作是n乘以n×n的矩阵a, a中的每个元素都是0或1,分别代表一个空白的背景或一个学生。


但是老师们太忙了,没有时间和学生们合影,只能自己拍了一张合影。这张照片可以看作矩阵B,其中每个元素为2,代表一个老师。


作为一名photoshop大师,你的工作是将照片B放入照片a中,并遵循以下约束条件:


不允许分割、旋转或缩放图片,只能进行平移。


矩阵B中的每个元素应该与A中的一个元素完全重叠,每个老师应该与空白背景重叠,而不是躲避学生。


请计算一下你可以将照片B放入照片A的可能方法。


输入描述:


第一行包含两个整数n,m表示照片A和B的大小。


在接下来的n行中,每一行包含n个’0’或’1’字符,代表矩阵A。


最后一行包含m个字符’2’,代表矩阵B。


输出描述:


在一行中输出一个整数,表示答案。


输入样例:

在这里给出一组输入。例如:

5 3
00000
01110
01110
01110
00000
222


输出样例:

在这里给出相应的输出。例如:

6


#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
int main()
{
    int n,m;
    string f[N],s;
    cin >> n >> m;
    for(int i=0;i<n;i++) cin >> f[i];
    for(int i=0;i<m;i++) cin >> s;
    for(int i=0;i<m;i++)
        s[i] = '0';
    int cnt = 0;
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<=n-s.size();j++)
        {
            string ss = f[i].substr(j,s.size());
            if(ss == s) cnt ++;
        }
    }
    cout << cnt;
    return 0;
}


7-6 h0045. 限速

B和T踏上行程,但他们汽车的里程表坏了,因此他们不知道他们驾车走了多少英里。幸运的是,B有一个正在运行的跑表,可以记录他们的速度和驾驶了多少时间。然而,这个跑表的记录方式有些古怪,他们需要计算总的驾驶距离。请您编写一个程序完成这项计算。

1d68124d7ea34bd8bf051ab83e8aad09.png

输入格式:

输入由一个或多个测试用例组成。每个测试用例开始的第一行为一个整数n,1≤n≤10;后面是n对值,每对一行。每对的第一个值s是时速,第二个值t是总的耗费时间。s和t都是整数,1 ≤s≤90并且1≤t≤12。t的值总是增序。n的值取-1表示输入结束。


输出格式:

对于每一个测试用例,输出行驶距离,然后空格,输出单词"miles"。


输入样例:

3
20 2
30 6
10 7
2
60 1
30 5
4
15 1
25 2
30 3
10 5
−1


输出样例:

170 miles
180 miles
90 miles
#include <bits/stdc++.h>
using namespace std;
int main()
{
    int n;
    while(cin >> n && n != -1)
    {
        int sum = 0;
        int res, t = 0, s; // res表示中间值
        for(int i=0;i<n;i++)
        {
            res = t;
            cin >> s >> t;
            sum += s * (t - res);
        }
        printf("%d miles\n",sum);
    }
    return 0;
}


7-7 弄丢的直角三角形(题目存在一些问题)

7-8 自守数

数学的世界有很多很漂亮的数字或者数字集合,比如梅森数,哥德巴赫猜想,水仙花数,完全数,自守数。今天我们就一起来探究一下自守数。自守数是指一个数的平方的尾数等于该数自身的自然数。例如:25^2 = 625,76^2 = 5776,9376^2 = 87909376。请求出n以内的自守数的个数


输入格式:

第一行输入n,随后输入n个数m。


输出格式:

在一行中输出m以内自守数的个数,所有输出在一行内完成,末尾没有多余空格。


输入样例:

5
1
2
3
4
5


输出样例:

2 2 2 2 3
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 1e5 + 10;
int f[N];
int main()
{
    f[0] = 1, f[1] = 2;
    for (int i = 2; i <= N; i ++ )
    {
        int x = i,cnt = 1;
        LL y = i * i;
        while (x)
        {
            if (y % 10 != x % 10)
            {
                cnt = 0;
                break;
            }
            x /= 10, y /= 10;
        }
        f[i] = f[i - 1] + cnt;
    }
    int n, x;
    cin >> n;
    for (int i = 0; i < n; i ++ )
    {
        if(i) cout << ' ';
        cin >> x;
        cout << f[x];
    }
    return 0;
}
目录
相关文章
|
Java
编程中最难的就是命名?这几招教你快速上手(4)
编程中最难的就是命名?这几招教你快速上手
80 0
编程中最难的就是命名?这几招教你快速上手(4)
|
4月前
|
存储 IDE 开发工具
|
6月前
|
前端开发 JavaScript Java
计算机Java项目|热门网游推荐网站的设计与开发
计算机Java项目|热门网游推荐网站的设计与开发
计算机Java项目|热门网游推荐网站的设计与开发
|
6月前
|
前端开发 JavaScript Java
计算机Java项目|大学生租房平台的设计与实现
计算机Java项目|大学生租房平台的设计与实现
|
7月前
|
IDE 编译器 开发工具
学习STM32,该用哪款开发工具?
学习STM32,该用哪款开发工具?
138 1
|
7月前
|
前端开发 JavaScript 调度
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
小型的编程项目有哪些值得推荐?这本神书写了 22 个,个个了不得
62 1
编程中最难的就是命名?这几招教你快速上手(2)
编程中最难的就是命名?这几招教你快速上手
49 0
编程中最难的就是命名?这几招教你快速上手(2)
|
Java 程序员 编译器
编程中最难的就是命名?这几招教你快速上手(1)
编程中最难的就是命名?这几招教你快速上手(1)
81 0
编程中最难的就是命名?这几招教你快速上手(1)
|
关系型数据库
编程中最难的就是命名?这几招教你快速上手(3)
编程中最难的就是命名?这几招教你快速上手
55 0
|
Java 关系型数据库 程序员
编程中最难的就是命名?这几招教你快速上手
编程中最难的就是命名?这几招教你快速上手
729 11

相关实验场景

更多