Python代码!!!

5395 传送门:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5395

5398传送门:http://acm.tzc.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=5398

5395:大于中值的边界元素

时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte

描述

给定一个二维数组,求二维数组的边界元素中,大于二维数组“中值”的元素个数。这里的“中值”定义为一个元素序列中:

(1)当元素个数为奇数时,即为中间大的元素;

(2)当元素个数为偶数时,为中间大的两个元素的平均值。

输入

第一行为两个元素n和m,表示二维数组的行数和列数。

接下来又n行,每行m个整数,表示数组元素值。

1<=n,m<=100。

输出

输出大于中值的元素个数。

样例输入

3 3
1 2 3
2 3 1
4 1 5

样例输出

3

提示

中值为2,因此边界元素中大于2的元素个数为3个。

思路:

因为题目要求中位数,所以不知道整个数组是奇数个还是偶数个的情况下,还是直接把数组元素都用float存储比较好。

然后就是存的时候可以浪费一下空间,存一个二维数组,另外再把所有元素存到一个一维数组,这样找中位数方便一点。

然后比较就是比较四个边上的元素和中位数比较。easy!

if __name__ == "__main__":
n ,m = map(int,input().split())
a,b,sum = [[0 for i in range(m)]for j in range(n)],[],0
for i in range(n):
a[i] = input().split()
for j in range(m):
a[i][j] = float(a[i][j])
b.append(a[i][j])
b.sort()
num = float(b[len(b)//2]) if len(b)%2==1 else (b[len(b)//2+1]+b[len(b)//2])/2
for i in range(n):
for j in range(m):
if i == 0 or j == 0 or i == n-1 or j == m - 1:
if a[i][j] > num: sum += 1
print(sum)

TOJ5398: 签到大富翁

时间限制(普通/Java):1000MS/3000MS     内存限制:65536KByte

台州移动有一个活动叫做“签到大富翁”,用户签到后可以得到“掷骰子”的机会,根据用户掷骰子的点数,可以到达某个方格,从而获得相应的奖励。但有些格子可能会倒退或前进一步,最终到达了另一个格子。现在请你根据掷骰子的点数确定能获什么奖励。

为简化起见,这里只需要输出对应格子的数字即可(具体实现这个游戏时,你可以根据该数字确定奖品类型)。

输入

输入数据的第一行为整数n(n<=50),表示地图中的格子数目。

第二行为n个整数,表示格子中的数字值,如果为-1,表示后退一步,如果为1表示前进一步,其他数字对应奖品或无奖品,每次掷骰子最多只能前进或倒退一次。

第三行为整数m(m<=10),表示玩家可以掷骰子的次数。

第四行为m个整数,表示玩家分别掷出的骰子点数(1~6之间)。

玩家总是从第一个格子出发,当到达终点时(掷骰子点数超出终点也将停留在终点),下一次掷骰子将重新从起点出发。

输出

输出每次掷骰子所到达格子的对应数字值,每行一个。

样例输入

10
0 1 2 -1 3 4 2 1 5 0
3
3 2 5

样例输出

2
3
0

思路:直接模拟就好了,注意一下,进一步和退一步,只能执行一次!

7

0 5 4 1 -1 1 0

3

5 4 3

输出:

0

1

0

代码:

if __name__ == "__main__":
n,str= input(),input()
a = [int(i) for i in str.split()]
n,str= input(),input()
b = [int(i) for i in str.split()]
ard ,f=0,0
for i in range(len(b)):
ard += b[i]
if ard >= (len(a)-1): f,ard = 1,len(a)-1
if a[ard] == 1:ard+=1
elif a[ard] == -1:ard-=1
if ard >= (len(a)-1): f,ard = 1,len(a)-1
print(a[ard])
if f == 1:ard,f=0,0

TOJ5398: 签到大富翁(简单模拟) and TOJ 5395: 大于中值的边界元素(数组的应用)的更多相关文章

  1. java web学习总结(二十二) -------------------简单模拟SpringMVC

    在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...

  2. WPF简单模拟QQ登录背景动画

    介绍 之所以说是简单模拟,是因为我不知道QQ登录背景动画是怎么实现的.这里是通过一些办法把它简化了,做成了类似的效果 效果图 大体思路 首先把背景看成是一个4行8列的点的阵距,X轴Y轴都是距离70.把 ...

  3. Linux 内核 链表 的简单模拟(2)

    接上一篇Linux 内核 链表 的简单模拟(1) 第五章:Linux内核链表的遍历 /** * list_for_each - iterate over a list * @pos: the & ...

  4. Linux 内核 链表 的简单模拟(1)

    第零章:扯扯淡 出一个有意思的题目:用一个宏定义FIND求一个结构体struct里某个变量相对struc的编移量,如 struct student { int a; //FIND(struct stu ...

  5. JavaWeb学习总结(四十九)——简单模拟Sping MVC

    在Spring MVC中,将一个普通的java类标注上Controller注解之后,再将类中的方法使用RequestMapping注解标注,那么这个普通的java类就够处理Web请求,示例代码如下: ...

  6. 简单模拟Hibernate的主要功能实现

    在学习期间接触到Hibernate框架,这是一款非常优秀的O/R映射框架,大大简化了在开发web项目过程中对数据库的操作.这里就简单模拟其底层的实现. /*******代码部分,及其主要注解***** ...

  7. 【HDU 4452 Running Rabbits】简单模拟

    两只兔子Tom和Jerry在一个n*n的格子区域跑,分别起始于(1,1)和(n,n),有各自的速度speed(格/小时).初始方向dir(E.N.W.S)和左转周期turn(小时/次). 各自每小时往 ...

  8. Jquery源码分析与简单模拟实现

    前言 最近学习了一下jQuery源码,顺便总结一下,版本:v2.0.3 主要是通过简单模拟实现jQuery的封装/调用.选择器.类级别扩展等.加深对js/Jquery的理解. 正文 先来说问题: 1. ...

  9. (hdu step 8.1.6)士兵队列训练问题(数据结构,简单模拟——第一次每2个去掉1个,第二次每3个去掉1个.知道队伍中的人数&lt;=3,输出剩下的人 )

    题目: 士兵队列训练问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total ...

随机推荐

  1. Centos 7 安装 sphinx2.2 (转)

    一.首先到Sphinx官网找到下载地址:http://sphinxsearch.com/downloads/release/如果你比较懒,好吧:http://sphinxsearch.com/file ...

  2. HashSet和LinkedHashSet解析

    一.简介 1.Set概念 Set可以理解为集合,非常类似数据概念中的集合,集合三大特征:1.确定性:2.互异性:3.无序性,因此Set实现类也有类似的特征. 2.HashSet HashSet继承自A ...

  3. CSRF学习小结

    什么是CSRF CSRF,全称是Cross Site Request Forgery,也即跨站请求伪造.对于CSRF来说,它的请求有两个关键点:跨站点的请求和请求是伪造的. 跨站点的请求的来源是其他站 ...

  4. mysql网课部分笔记

    mysql> \s  查看当前数据库的状态 \c  取消当前所输入的命令或字符 ------------------------------------------------------- m ...

  5. Go语言学习笔记(1)

    包 package 声明包,import 导入包,导入的包名要用"",包中导出的名字以大写字母打头. package main import "fmt" imp ...

  6. ReactiveX 学习笔记(11)对 LINQ 的扩展

    Interactive Extensions(Ix) 本文的主题为对 Ix 库,对 LINQ 的扩展. Buffer Ix.NET Buffer Ix.NET BufferTest Buffer 方法 ...

  7. Haskell语言学习笔记(74)GADTs

    GADTs GADTs(Generalised Algebraic Data Types,广义代数数据类型)是对代数数据类型的一种扩展. 它允许在定义数据类型时明确指定类型参数的类型并使用模式匹配. ...

  8. JAVA 16进制转ASCII -- 2018年5月25日 周五

    /** * 16进制转ASCII * * @param hex * @return */ public static String hex2Str(String hex) { StringBuilde ...

  9. 扩展C#与元编程

    扩展C#与元编程 https://www.cnblogs.com/knat/p/4580393.html https://www.cnblogs.com/knat/p/4584023.html 扩展C ...

  10. C#中的 new Random()

    在C#中,产生随机数常用大方法是 new Random().Next(1,10)等方法. 但是仔细发现会有个问题: 看代码: ; i < ;i++ ) { Console.WriteLine(, ...