2021-12-11 学习的打卡学习第十九天

今天学校新星杯,又只做了3题。题组关了,看不到自己的代码,好难受(;´д`)ゞ

明天要答辩,今晚还要赶ppt,就简单说一下思路吧:

例题1:

描述

美丽的青青草原上生长着肥美的绿草,养育着羊村一村羊,但是由于温室效应加剧,整个青青草原缩小到只剩一块正方形区域(以(x0,y0)为左上角,d为边长)羊村一村羊也被迫生活在其中。这时灰太狼觉得机会来了,于是想出了一条妙计:以狼堡为圆心用绳子牵一头牛,把青青草原的草都给干完,羊们无处可去便会落入狼口。但是绳子就快不够了,灰太狼也由于太久没吃羊精神恍惚,不知道至少该用多长的绳子才能把青青草原的草干完,你作为灰太狼亲爱的侄子,快帮你叔叔算算吧?
狼堡和牛都可以看作质点,x坐标轴正向为右,y坐标轴正向为上。

格式

输入格式

第一行输入三个整数,x0,y0,d,代表青青草原的左上角坐标和边长(-103<x0<103 , -103<x1<103 , 0<d<103)。
第二行输入两个整数,x1,y1,代表狼堡的位置(-103<x1<103 , -103<y1<103 )。

输出格式

输出一个数代表所需的最短的绳子长度(保留三位小数)。

样例

样例输入

0 2 2
2 2

样例输出

2.828		

这题一开始样例错了,是0 0 2,让我纠结半天。

以样例为例,左上的坐标(0,2)知道的话,那就可以知道其他点的坐标:(0,0);(2,2)

;(2,0);然后求狼堡到这些坐标的最大位移,可以用头文件#include<math.h>中的sqrt函数。

例题2:

描述

一天ysj写出来了一个题目,在实验室里欢呼,wtj看到他这么高兴,就过去看了看他写了个什么题目。

题目如下:

如果矩阵A中存在这样的一个元素A [ i , j ]满足条件:A [ i , j ]是第i行中值最小的元素,且又是第 j 列中值最小的元素,则称之为该矩阵的一个马鞍点。请编程计算出m*n的矩阵A的所有马鞍点。

如果某一行的最小值为2,而这一行有3个2,我们认为这三个2都是最小的元素。

wtj觉得这个题目太简单了,于是给这个题目加了一个难度。

即现在给你n个相同大小的矩阵,每个矩阵的大小是x*y。如果某个位置,在每个矩阵都是马鞍点,我们称为套马点。

请你找出套马点的个数

格式

输入格式

第一行输入一个数n,表示有n个矩阵 1<n<10
第二行输入两个数x,y 表示矩阵有x行,每行y个数。 (1<x,y<10)
然后输入 n*x行,每行y个数。 表示n个矩阵。
每个数的大小为  [0,100] 

输出格式

输出套马点的个数

样例

样例输入 Copy

3 2 4
1 2 3 4
5 6 7 8
1 2 3 4
5 1 7 8
1 3 2 4 
4 6 7 3

样例输出 Copy

1		

提示

样例中
在第一个矩阵中 马鞍点的位置为   (1,1)
在第二个矩阵中  马鞍点的位置为(1,1)(2,2)
在第三个矩阵中 马鞍点的位置为 (1,1)(2,4)


只有(1,1)这个位置在三个矩阵中都是马鞍点,所以套马点的个数为1

这题我是先设一个3维数组用来存放数据,然后设二个二维数组分别存放不同矩阵的每行最小数和每列最小数,再进行比较。

明天就要答辩了,希望我能过吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值