昆山网站建设熊掌号,网站头部怎么做,网站开发有哪些风险,app开发培训班【蓝桥杯刷题】—— 盗版Huybery系列之手抓饼赛马#x1f60e;#x1f60e;#x1f60e;
目录
#x1f4a1;前言#x1f31e;#xff1a; #x1f49b;盗版Huybery系列之手抓饼赛马题目#x1f49b;
#x1f4aa; 解题思路的分享#x1f4aa; #x1f60a;题…【蓝桥杯刷题】—— 盗版Huybery系列之手抓饼赛马
目录
前言 盗版Huybery系列之手抓饼赛马题目 解题思路的分享 题目源码的分享 本菜鸡总结 博客昵称陈大大陈 座右铭所谓觉悟就是在漆黑的荒野上开辟出一条理当前进的光明大道。 博主简介一名热爱C/C和算法等技术喜欢运动爱胡思乱想却胸怀大志的小博主 博主唠嗑早中晚安各位CSDN的朋友我是博客新人陈大大陈希望我的文章能为你带来帮助欢迎大家在评论区畅所欲言也希望大家多多为我提出您宝贵的建议如果觉得我写的不错的话还请点个赞和关注哦~ 前言 大伙们好又到了小陈蓝桥杯每日一题的时间了~ 今天也带来了十分有趣的题目用C语言实现——盗版Huybery系列之手抓饼赛马这个题目很有意思新颖的同时又很值得思考我现在迫不及待地要和大家分享~ 盗版Huybery系列之手抓饼赛马题目 大家听说过“田七赛马”的故事吗 那是在遥远的战国时期了当时的齐国上流社会赛马成风上至国君下至大臣常常以重金赌赛马的输赢。而田七是一个没什么心眼却很爱面子的大臣别人找他赛马他不好意思拒绝。但由于策略不当屡赌屡输。 终于在他将要把所有的俸禄都输光的时候他找到从小长在大草原对各种马的习性能力都很熟悉的朋友手抓饼请他帮自己赢得下一场比赛。 手抓饼暗中观察了对手的马发现田七的马和他的相差不远只要运用一点小手段就很有可能战胜对手。 下场比赛的规则为田七和对手分别使用N匹马来参赛比赛过程中不允许出现平局 最后谁赢的场数多于一半谁就是获胜(最终可能没有赢家)。假设每匹马都有恒定的速度而手抓饼已经掌握了所有马的速度。 现在请你来你来预测一下手抓饼能否帮助田七赢得比赛。 输入 输入有多组测试数据。 每组测试数据包括3行 第一行输入N(1≤N≤1000)。表示马的数量。 第二行有N个整型数字即田七的N匹马的速度。 第三行有N个整型数字即对手的N匹马的速度。 当N为0时结束。 输出 若通过手抓饼的安排田七能赢得比赛那么输出“YES”。 否则输出“NO”。 每个输出占一行。 样例输入 5 2 3 3 4 5 1 2 3 4 5 4 2 2 1 2 2 2 3 1 0 样例输出 YES NO 解题思路的分享 田忌赛马的故事想必大家都知道田忌获胜的秘诀就是让自己的劣马来消耗掉对手的好马然后用自己的好马来对上敌方的劣马是非常阴险的做法。我们就依着田忌的做法来写代码。首先输入马匹的个数接着输入两组马匹速度的数据。然后用冒泡排序将马匹的速度由低到高排序。我们定义一个变量计数君t0来存放数据等下来判断比赛结果。用两组for循环来遍历两组数据如果田忌的马匹的速度大于对手的马匹速度的任意一只那么就让 t1 。因为数组已经是有序数组我们下次循环对手的马匹时就可以从下标为t的元素开始。如果最后tn/2,即田忌获胜否则田忌落败。题目源码的分享
#define _CRT_SECURE_NO_WARNINGS
#include iostream
using namespace std;
int main()
{int n, a[1000], b[1000];while (cin n){if (n 0) break;else{int t 0;for (int i 0; i n; i){cin a[i];}for (int i 0; i n; i){cin b[i];}t 0;for (int i 0; i n - 1; i){for (int r 0; r n - 1 - i; r){if (a[r] a[r 1]){int d a[r];a[r] a[r 1];a[r 1] d;}if (b[r] b[r 1]){int f b[r];b[r] b[r 1];b[r 1] f;}}}for (int j 0; j n; j){for (int m t; m n; m){if (a[j] b[m]){t 1;break;}else;}}if (t n / 2) cout YES;else cout NO;cout endl;//打印换行方便输入。}}return 0;} 本菜鸡总结 这是我们学校蓝桥杯选拔赛上面的题目我觉得很有意思就写了这篇博客这种题目比较耐人寻味比如这道题肯定就还有很多其他的做法里面的冒泡排序也可以直接用qsort函数来实现不过我还没有实践哪位大佬有更好的做法请在评论区不吝赐教哦~如果觉得我写的不错的话还请点个赞和关注哦~我会持续输出编程的知识的