1、点积运算(dot 

点积在数学中,又称数量积,它是欧几里得空间的标准内积,在机器学习和人工智能中具有非常广泛的应用。二维空间内两个向量的点积定义为向量中对应各维坐标的乘积和。例如,向量 a=(a1,a2),向量 b=(b1,b2),则向量 a 和向

量 b 的点积为:a1*b1+a2*b2。请同学们计算二维空间内两个向量的点积。

输入:输入数据共 2 行,第一行有两个用空格分隔的整数,表示第一个向量,第二行有两个用空格分隔的整数,表示第二个向量。

输出:共 1 行一个整数,为两个向量的点积和。

样例 1:

输入:(dot.in)

  1. 4
  2. 5

输出:(dot.out)

26

数据范围:1≤a1,a2,b1,b2≤100000

#include<iostream>
using namespace std;
int main(){int a1,a2;cin>>a1>>a2;int b1,b2;cin>>b1>>b2;cout<<a1*b1+a2*b2;
}

2、成绩统计(score)

期末考试结束了,学校已批改完所有试卷,已知某年级共有 n 位学生和他们对应的成绩。老师们想知道这个年级学生成绩的分布情况,以便下学期更好的开展教学,因此现在需要统计一些数据如下:

  1. 全校最低分、最高分的成绩及人数;
  2. 同分最多的成绩和人数,如果相同,依次由低分到高分输出;
  3. 分值 p 和 q 之间(包含 p 和 q)人数。

请同学们编程帮忙统计吧。

输入:输入数据共 3 行。第一行一个整数 n,表示学校某年级总人数,第二行共有 n 个由空格分隔的正整数,表示每一位学生成绩。第三行共有 2 个由空格分隔的正整数 p 和 q。

输出:共 4 行,第一行 2 个由空格分隔的正整数,对应最低的成绩及人数,第二行 2 个由空格分隔的正整数,对应最高的成绩及人数,第三行多个由空格分隔的正整数,对应多个相同分数最多的成绩及人数。第 4 行 1 个正整数,对应成绩 p 和 q 之间人数。

样例:

输入:(score.in)

11

80 85 80 78 90 95 95 80 98 78 95

85 95

输出:(score.out)

78 2

98 1

80 3 95 3

5

数据范围:1≤学生人数 n≤10000,0≤每个学生成绩≤500

//成绩统计
#include<bits/stdc++.h>
using namespace std;
int tong[510];//统计分数
int maxn=0;//同分最多的人
int maxfen=0, minfen=500;//最高分  最低分
int main(){int n, p, q, fen, i;cin>>n;for(i=1; i<=n; i++){cin>>fen;tong[fen]++;//装桶maxn=max(maxn, tong[fen]);maxfen=max(maxfen, fen);//最高分 minfen=min(minfen, fen);//最低分 } cin>>p>>q;cout<<minfen<<" "<<tong[minfen]<<endl;cout<<maxfen<<" "<<tong[maxfen]<<endl;for(i=0; i<=500; i++){if(tong[i]==maxn){cout<<i<<" "<<maxn<<" ";//分数  人数 }}cout<<endl;int he=0;for(i=p; i<=q; i++){he=he+tong[i];//总人数 }cout<<he<<endl; return 0;
}

3、出队游戏(queue)

秋冬季阳关明媚的上午,老师带领同学们在做一个游戏,首先同学们排成一列,然后从 1 开始依次给同学们一个编号,如果有 5 位同学,他们的编号依次为1、2、3、4、5。游戏的规则如下:

①从队头开始依次按一、二、一、二、……报数,凡是报到数为二的出来;

②剩余的同学依次靠拢重新排成一列,从队头开始依次按一、二、三、一、二、三、……报数,凡是报到数为三的出来;

③重复第 ①、②,直到剩余的人数不超过 3 为止。

输入:输入数据只有一行一个正整数 n,表示学生人数。

输出:一行由空格分隔的若干正整数。

样例 1:

输入:(queue.in)

5

输出:(queue.out)

1 3 5

样例 2:

输入:(queue.in)

9

输出:(queue.out)

1 7

数据范围:4≤n≤10000

//出队游戏 (类似约瑟夫问题)
#include<bits/stdc++.h>
using namespace std;
int main(){queue<int> q;int n, i;cin>>n;for(i=1; i<=n; i++){q.push(i);//队列 }int m, hao; m=q.size();//初始人数 while(m>3){ for(i=1; i<=m; i++){//偶数出列 hao=q.front();//队首q.pop();//出队列if(i%2!=0){q.push(hao);//重新入队列 } } m=q.size();//更新人数  if(m<=3) break;for(i=1; i<=m; i++){//数3出列 hao=q.front();//队首q.pop();//出队列if(i%3!=0){q.push(hao);//重新入队列 } } m=q.size();//更新人数} m=q.size();//更新人数for(i=1; i<=m; i++){hao=q.front();q.pop();//出队列 cout<<hao<<" ";}return 0;
} 

4、盲比多少游戏(game)

小强和小明两位小朋友在玩一个盲比多少的游戏,游戏规则非常简单:每次手握一定数量的小弹珠出拳,谁手中的小弹珠多,谁就算赢,赢家不仅可以获得输家本次出拳的小弹珠,还可以得到 50 积分的奖励,输家则被扣除 50 分奖励;如果弹珠数量一样,则不计积分。经过若干次的出拳,最后赢家就可以得到一定的积分。假设最后赢家是小强,你可以通过安排出拳时手握弹珠数量,使小强获得最多积分。开始时两人积分都为 0。

输入:共 3 行,第一行一个正整数 n(1≤n≤1000),表示总共出拳次数,第二行有 n 个由空格分隔的正整数,表示小强每次出拳时手握的弹珠数,第三行有 n 个由空格分隔的正整数,表示小明出拳时手握弹珠数。注意出拳时手握弹珠数不一定按照给出的顺序进行。

输出:共 1 行一个整数,表示小强可获得的最大积分。

样例 1:

输入:(game.in)

3

  1. 5 3
  2. 4 6

输出:(game.out)

50

样例解释:共出拳 3 次,第一次小强手握 1 个弹珠,小明手握 6 个弹珠,小强输;第二次小强手握 5 个弹珠,小明手握 4 个弹珠,小强赢;第三次小强手握个弹珠,小明手握 2 个弹珠,小强赢;小强两赢一输,总积分为 50 分。

数据范围:1≤n≤1000,每次出拳时手握弹珠数不超过 500。

//盲比多少游戏 (田忌赛马的贪心思想)
#include<bits/stdc++.h>
using namespace std;
int n, qiang[1010], ming[1010];
int ying=0;//小强赢的次数
bool cmp(int a, int b){return a>b;//大的在前
}
int main(){int i;cin>>n;for(i=0; i<n; i++){cin>>qiang[i];//小强 }for(i=0; i<n; i++){cin>>ming[i];//小明 }sort(qiang, qiang+n, cmp);//从大到小排序sort(ming, ming+n, cmp);//从大到小排序int qz=0, qy=n-1;//小强左边界,右边界int mz=0, my=n-1;//小明左边界,右边界 while(qz<=qy && mz<=my){//[qz, qy],[mz, my]可以构成闭区间 if(qiang[qz]>ming[mz]){//小强最好>小明最好ying++;//(小强最好 VS 小明最好)qz++;mz++;    }else if(qiang[qy]>ming[my]){//小强最差>小明最差ying++;//(小强最差 VS 小明最差)qy--;my--;   }else{if(qiang[qy]<ming[mz]){//小强最差 < 小明最好ying--; }qy--;mz++; } } cout<<ying*50<<endl;return 0;
} 

云服务器ECS新春特惠https://www.aliyun.com/daily-act/ecs/fy22-12-yure?userCode=ht9l7cno

2020年合肥市青少年信息学科普日活动小学组试题相关推荐

  1. 《关于举办2021年合肥市青少年信息学科普日活动的通知》

    合肥市教育局 合肥市科学技术协会 关于举办 2021 年合肥市青少年 信息学科普日活动的通知 各县(市)区教育主管部门,各市管学校: 为深入贯彻落实<新一代人工智能发展规划>和<教育 ...

  2. 关于举办2021年蜀山区青少年信息学科普日暨第二十届青少年信息学竞赛的通知

    蜀山区各中小学: 为深入贯彻落实<新一代人工智能发展规划>和<教育信息化2.0行动计划>,在我区中小学阶段推广人工智能及编程教育,普及计算机科学知识,提升青少年的信息素养,培养 ...

  3. 2019年北京西城区青少年人工智能创意编程活动小学组试题参考答案

    一.客观题 1 C 2 C 3 B 4 B 分析:这是NOIP2017普及组的第1道选择题.由负数的补码求原码有两种方式.一是减1取反,二是取反加1.第二种方法的原理为负数的补码的补码为原码. 5 A ...

  4. 初中组计算机比赛试题,2019年东城区青少年智能编程比赛活动初中组试题

    原标题:2019年东城区青少年智能编程比赛活动初中组试题 题目1-谜题 输入文件: puzzle.in 输出文件: puzzle.out 时限: 1s 内存: 128mb [题目描述] 阿什尼最近在玩 ...

  5. 2020年蜀山区信息学竞赛试卷(小学组)

    2020年蜀山区信息学竞赛试卷(小学组) _____________________________________________________________________________ 1 ...

  6. 小学计算机奥林匹克试题,[转载]合肥市第三十届青少年信息学奥林匹克竞赛(小学组)试题...

    "讯飞杯"合肥市第三十届青少年信息学奥林匹克竞赛(小学组)试题 2013年11月23日 14:00-16:30 (请选手务必仔细阅读本页内容) 中文题目名称 大写数字 奇妙变换 密 ...

  7. keeko机器人_机器人零距离,创意搭建编程妙趣多!——瑞云社区开展全国科普日活动...

    2020年9月23日下午,由福清市科学技术协会主办,福清市龙山街道瑞云社区.福清市城关幼儿园协办的"机器人零距离,创意搭建编程"活动在福清市城关幼儿园举行.通过本次活动,激发了孩子 ...

  8. “讯飞杯”合肥市第三十届青少年信息学奥林匹克竞赛(小学组)试题

    第一题 大写数字 (bignum.pas/c/cpp) [问题描述] 牛牛同学的妈妈在一家银行上班,每天都要填写大量交易的单据.在银行的单据上,除了要填写阿拉伯数字外,还要填写对应的中文大写数字.例如 ...

  9. 合肥市noi计算机竞赛,2012年蜀山区青少年信息学(计算机)竞赛通知

    合肥奥数网讯:关于举办2012年蜀山区青少年信息学(计算机)竞赛的通知如下 蜀山区各小学: 为进一步推动中小学计算机教育的开展,促进我区学生信息学(计算机)知识的普及与提高,同时为合肥市青少年信息学( ...

最新文章

  1. Git 各指令的本质,真是通俗易懂啊!
  2. oracle rownum 学习
  3. Nacos源码NacosServiceRegistry
  4. windows下部署免费ssl证书(letsencrypt)
  5. linux 定时任务 (php)
  6. 【UML】——为什么要使用UML
  7. c mysql 数据更新_MySQL数据更新
  8. 网络安全攻防实验室通关教程-脚本关
  9. php 微信公众号关注推送欢迎语
  10. vue实现生成二维码与扫描二维码
  11. iframe异步加载技术及性能转
  12. 腾讯云Ubuntu18.04配置OpenPCDet深度学习环境
  13. 黑盒测试、白盒测试、灰盒测试的区别
  14. python不是内部文件别太任性_Python一笑很倾城
  15. 认识oracle的update更新
  16. 牛客网wannafly挑战赛13-D(贪心)
  17. windows 使用bat脚本文件,复制文件夹到另一个盘
  18. PyQt5 - QSS
  19. Verilog中 高位与低位
  20. Windows绘制点与线

热门文章

  1. 古诗写入文件(python)
  2. 计算机双目视觉视觉角匹配算法
  3. 每周一道算法题003:翻牌
  4. 在Android手机上使用MACE实现图像分类
  5. 500g硬盘装linux怎样分,500G的硬盘,怎么分区比较合理?
  6. 图书馆的uml概念类图是什么_产品经理必学UML:类图
  7. 我的初恋测试,到底测试一岗究竟每天都干什么?
  8. 使用Python扫描受损的MP3文件_OverJerry
  9. 赛码约德尔(志勋)测试
  10. egret创建EUI动画