弹指间计算机协会 X Five Pines Robomaster实验室 考核题面与题解(二)

简介: 弹指间计算机协会 X Five Pines Robomaster实验室 考核题面与题解

Sample Output 2

2+1i
-1i
1+1i

Hint

image.png

代码

#include<iostream>
#include<cstdio>
using namespace std;
class Complex {
public:
    int m, n;
    Complex operator+(Complex& c2) {
        Complex res;
        res.m = m + c2.m;
        res.n = n + c2.n;
        return res;
    }
    Complex operator-(Complex& c2) {
        Complex res;
        res.m = m - c2.m;
        res.n = n - c2.n;
        return res;
    }
    Complex operator*(Complex& c2) {
        Complex res;
        res.m = m * c2.m - n * c2.n;
        res.n = n * c2.m + m * c2.n;
        return res;
    }
    void cprint() {
        if (m == 0 && n == 0)
            printf("0\n");
        else if (m == 0 && n != 0)
            printf("%di\n", n);
        else if (m != 0 && n == 0)
            printf("%d\n", m);
        else printf("%d%+di\n", m, n);
    }
};
int main() {
    Complex c1, c2;
    cin >> c1.m >> c1.n >> c2.m >> c2.n;
    Complex c3 = c1 + c2;
    c3.cprint();
    c3 = c1 - c2;
    c3.cprint();
    c3 = c1 * c2;
    c3.cprint();
    return 0;
}

大二组

韭菜

Description

在今后的几天内Jerry将学习美元与人民币的汇率。编写程序帮助Jerry何时应买或卖人民币或美元,使他从100美元开始,最后能获得最高可能的价值。

Input

第一行是一个自然数N,1≤N≤100,表示Jerry学习汇率的天数。

接下来的N行中每行是一个自然数A,1≤A≤1000。第i+1行的A表示预先知道的第i+1天的平均汇率,在这一天中,Jerry既能用100美元买A人民币也能用A人民币购买100美元。

Output

第一行也是唯一的一行应输出要求的钱数(单位为美元,保留两位小数)。

注意:Jerry必须在最后一天结束之前将他的钱都换成美元。

Sample Input 1

5
400
300
500
300
250

Sample Output 1

266.67

Hint

样例解释

Day 1 … changing 100.0000美元= 400.0000人民币

Day 2 … changing 400.0000人民币= 133.3333美元

Day 3 … changing 133.3333美元= 666.6666人民币

Day 5 … changing 666.6666人民币= 266.6666美元

题解

状态机dp

钱有两种状态:美元,记为0状态。RMB,记为1状态。记i,0}fi,0表示最优策略下第i ii天的美元数量,fi,1表示最优策略下第i ii天的人民币数量。

设第i ii天汇率汇率为a i a_iai,在最优策略下:当第i − 1 i-1i1天汇率>第i ii天,可以把人民币兑换成美元{i-1,1}/a_ifi,0=fi1,1/ai。当第i − 1 i-1i1天汇率<第i ii天,可以把美元兑换为人民ifi,1=fi1,0ai

i ii的维度优化掉,得到最终递推关系:

image.png

在最后一天,一定会把所有的钱都换成美元,则值为f 0 f_0f0f 1 / a n f_1/a_nf1/an

代码

#include<iostream>
using namespace std;
double f[2];//0为美元,1为rmb 
double a[1005];
double st=1;
int n;
int main(){
  cin>>n;
  for(int i=1;i<=n;i++){
    cin>>a[i];
    a[i]=a[i]/100.0;
  }
  f[0]=100;
  f[1]=100*a[1];
  for(int i=2;i<=n;i++){
    if (a[i-1]<a[i]){
      f[1]=f[0]*a[i];   
    }
    if (a[i-1]>a[i]){
      f[0]=f[1]/a[i];
    }
//    cout<<"day"<<i<<":"<<f[0]<<"美元"<<f[1]<<"人民币\n"; 
  }
  double res=max(f[0],f[1]/a[n]);
  printf("%.2f",res);
  return 0;
}

闭合区域面积统计

Description

编程计算由‘*’号围成的下列图形的面积。面积的计算方法是统计*号所围成

的闭合曲线中水平线和垂直线交点的数目。如图所示,在10*10的二维数组中,

有*围住了15个点,因此面积为15。

Input

一个10*10的二维数组,里面的数为0和1,1代表着*号 。

Output

一个整数,代表被围住的点个数。

Sample Input 1

0 0 0 0 0 0 0 0 0 0
0 0 0 0 1 1 1 0 0 0
0 0 0 0 1 0 0 1 0 0
0 0 0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 0 1 0
0 1 0 1 0 1 0 0 1 0
0 1 0 0 1 1 0 1 1 0
0 0 1 0 0 0 0 1 0 0
0 0 0 1 1 1 1 1 0 0
0 0 0 0 0 0 0 0 0 0

Sample Output 1

15

题解

bfs,从左上角、右上角、左下角、右下角为起点找到外圈的0,再找出1的个数,则剩下的0的个数就是被1包围的0

代码

#include<iostream>
#include<queue>
#define x first
#define y second
using namespace std;
typedef pair<int,int> PII;
int map[10][10];
int dx[4]={-1,0,1,0};
int dy[4]={0,1,0,-1};
int cnt0=0,cnt1=0;
int st[10][10];
void bfs0(){
  queue<PII> q;
    if (map[0][0]==0)
    q.push({0,0});
    if (map[0][9]==0)
      q.push({0,9});
    if (map[9][0]==0)
      q.push({9,0});
    if (map[9][9]==0)  
      q.push({9,9});
  while(!q.empty()){
    PII p=q.front();
    q.pop();
    st[p.x][p.y]=1;
    cnt0++;
//    cout<<p.x<<" "<<p.y<<endl;
    for(int k=0;k<4;k++){
      int newx=p.x+dx[k];
      int newy=p.y+dy[k];
      if (newx<0||newx>=10||newy<0||newy>=10)
        continue;
      if (st[newx][newy])
        continue;
      if (map[newx][newy]==1)
        continue;
      q.push({newx,newy});
      st[newx][newy]=1;
    }
  }
}
int main(){
  for(int i=0;i<10;i++)
    for(int j=0;j<10;j++)
      cin>>map[i][j];
  bfs0();
  for(int i=0;i<10;i++)
    for(int j=0;j<10;j++){
      if (map[i][j]==1)
        cnt1++;
    }
//  cout<<cnt0<<endl<<cnt1<<endl;
  int res=100-cnt0-cnt1;
  cout<<res;
}

晒衣服

Description

熊大妈需要给宝宝们晒衣服。

衣服在自然条件下用 1 的时间可以晒干 A 点湿度。抠门的熊大妈买了 1 台烘衣机。使用烘衣机可以让你用单位 1 时间使 1件衣服除开自然晒干的 A 点湿度外,还可烘干 B 点湿度,但在单位 1 时间内只能对 1 件衣服使用。

N 件的衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为 0 为干)。

Input

第一行N,A ,B , 接下来N行 ,每行一个正整数 ,表示衣服的湿度(1<= 湿度,A,B<=500000,1<=N<=500000)。

Output

一个正整数,表示弄干衣服的最小时间

Sample Input 1

3 2 1
1
2
3

Sample Output 1

1

Hint

对于40%的测试用例,n <= 5000

对于70%的测试用例,n <= 10000

对于全部的测试用例,n <= 500000

【样例解析】

第 1 个时间内,用机器处理第 3 件衣服,此外,所有衣服自然晒干 2。花费 1 时间全部弄干。

题解

image.png

代码

#include<iostream>
#include<queue>
#include<vector>
using namespace std;
int main(){
  int n,a,b;
  cin>>n>>a>>b;
  priority_queue<int> q;
  for(int i=1;i<=n;i++){
    int shidu;
    cin>>shidu;
    q.push(shidu);
  }
  int t=0;
  do{
        int p=q.top();
        q.pop();
        if (p-a*t<=0)
      break;
    t++;
    p-=b;
      q.push(p);
  }while(1);
  cout<<t<<endl;
}

奶酪

Description

image.png

目录
相关文章
|
7月前
|
网络协议 安全 网络安全
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
【题目】【网络系统管理】2022年江苏省职业院校技能大赛 高职竞赛样题
|
7月前
|
网络协议 安全 Linux
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
【题目】【网络系统管理】2019年全国职业技能大赛高职组计算机网络应用赛项H卷
|
7月前
|
网络协议 安全 数据安全/隐私保护
【题目】【网络系统管理】2022年甘肃省职业院校技能大赛-网络构建-试卷
【题目】【网络系统管理】2022年甘肃省职业院校技能大赛-网络构建-试卷
【题目】【网络系统管理】2022年甘肃省职业院校技能大赛-网络构建-试卷
|
7月前
|
安全 Linux 网络安全
第十六届山东省职业院校技能大赛中职组网络安全赛项竞赛正式试题
第十六届山东省职业院校技能大赛中职组网络安全赛项竞赛正式试题
|
7月前
|
数据安全/隐私保护 网络协议 网络虚拟化
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套A模块
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套A模块
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套A模块
|
7月前
|
网络虚拟化 网络协议 Windows
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套B模块-1
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套B模块
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套B模块-1
|
7月前
|
网络安全 数据安全/隐私保护 Linux
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套B模块-2
【题目】2023年全国职业院校技能大赛 GZ073 网络系统管理赛项赛题第3套B模块
|
7月前
|
安全 Linux 网络安全
2024年山东省职业院校技能大赛中职组 “网络安全”赛项竞赛试题-B-CTF夺旗与攻击
模块C和D是CTF夺旗比赛,分别侧重攻击和防御。作为渗透测试工程师,你需要在靶机(Linux/Windows)上找寻多种漏洞,如命令注入、文件上传、文件包含、远程代码执行和缓冲区溢出,以获取权限。同时,注意不能攻击裁判服务器,违者将被罚离场。提交靶机的唯一标识flag值并按规则加分。模块D中,你需要在堡垒服务器上发现并修复同样类型的漏洞,保证服务可用性,制作系统防御报告,所有截图需清晰,文件以PDF格式保存提交。
118 0
|
7月前
|
SQL 安全 测试技术
2021年职业院校技能大赛“网络安全”项目 江西省比赛任务书—B模块
B模块涵盖安全事件响应和网络数据取证,涉及多项应用安全挑战。任务包括使用nmap扫描靶机、弱口令登录、生成反弹木马、权限验证、系统内核版本检查、漏洞源码利用、文件名和内容提取等。此外,还有Linux渗透测试,要求访问特定目录下的文件并提取内容。应用服务漏洞扫描涉及服务版本探测、敏感文件发现、私钥解密、权限提升等。SQL注入测试需利用Nmap扫描端口,进行SQL注入并获取敏感信息。应急响应任务包括处理木马、删除恶意用户、修复启动项和清除服务器上的木马。流量分析涉及Wireshark数据包分析,查找黑客IP、枚举测试、服务破解等。渗透测试任务涵盖系统服务扫描、数据库管理、漏洞利用模块搜索等。
170 0
|
7月前
|
网络安全 数据安全/隐私保护
Misc | 相当于签到 第二届“奇安信”杯网络安全技能竞赛
Misc | 相当于签到 第二届“奇安信”杯网络安全技能竞赛
100 0