Python--ZOJ1051
来源:互联网 发布:淘宝网汽车贴膜 编辑:程序博客网 时间:2024/05/16 00:34
ZOJ1051
这道题是模拟细菌培养的,思路简单,但写起来有些麻烦。题目本身对输入(Input Format:)的解释只有三部分,但实际测试用例里有四部分。。。。。第一行一个整数表示测试用例的的数量,第二行表示实验的天数,第三行表示一个基因序列,决定第二天的细菌密度,后面的部分就是培养皿上细菌的密度。题目要求就是算出给的天数后细菌密度大小,某个培养皿上的密度分布为0~3,首先算出上下左右与其密度之和,找出其下标的基因序列上的值,再进行范围修正,如此循环给定的天数,按照输出要求,输出对应的字符。
但是这道题提交老是出错,显示“Non-zero Exit Code”!!!很无语,所以以下代码仅供参考啦,有大神看到的话也请指点一二!其他需要说明的地方我会在注释中写明!
<span style="font-family:SimSun;font-size:14px;">#2015-02-07# -*- coding: utf-8 -*-#import time 这个模块是我用来测算程序运行的时间的,因为也许是超时导致了Non-zero Exit Code,不过结果显示程序并没有超时。import sys#计算密度def sq(list,i,j): '计算密度' sum = 0 sum += int(list[i][j]) if j-1 >= 0: sum += int(list[i][j-1]) if j+1 <= 19: sum += int(list[i][j+1]) if i-1 >= 0: sum += int(list[i-1][j]) if i+1 <=19: sum += int(list[i+1][j]) return sumn = int(raw_input())pp = '.!X#'square = [[0 for i in range(20)] for j in range(20)] #构造两个二维数组,数据之间会相互影响,不能直接在原数组上操作square2 = [[0 for i in range(20)] for j in range(20)]#start = time.time()while n > 0: day = int(raw_input()) line = raw_input() density = line.split() for i in range(20): line = raw_input() square[i] = line.split() while day > 0: for i in range(20): for j in range(20): square2[i][j] = int(density[sq(square,i,j)])+int(square[i][j]) if square2[i][j] < 0: square2[i][j] = 0 if square2[i][j] > 3: square2[i][j] =3 (square,square2) = (square2,square) #两个数组进行交换 day -= 1 for i in range(20): for j in range(20): print pp[square[i][j]], sys.stdout.softspace=0 #去除print语句后产生的空格 print '\n', n -= 1 if n>0: print '\n',#elapsed = time.time() - start#print elapsed</span>
我拿了别人用C++写的程序跟我这个进行输出结果的比较,至少测试的几组都一样,真是无能为力了。我觉得有可能是兼容性的原因,ZOJ的Python版本是2.3我用的是2.7,当然这只是一个猜测。
0 0
- Python--ZOJ1051
- zoj1051
- zoj1051
- zoj1051
- zoj1051
- [水]ZOJ1051
- zoj1051 A New Growth Industry
- ZOJ1051 A New Growth Industry
- ZOJ1051 A New Growth Industry
- ZOJ1051 A New Growth Industry
- Zoj1051 A New Growth Industry
- zoj1051--------A New Growth Industry 细菌~
- Python
- Python
- Python
- python
- Python
- PYTHON
- 安卓开发环境初始化问题
- Android 闹钟 开发过程记录(二)
- iOS ARC内存管理循环引用的问题
- Android之TabHost布局
- Android—Service的使用(二)
- Python--ZOJ1051
- UVa1593 - Alignment of Code
- 健康问题
- PHP基础语法
- SVN无法提交 Can't set file "/db/txn_current" read-write :拒绝访问
- iOS ARC内存管理基本原理
- java编程思想-内部类-学习摘要
- Object - C 的消息处理机制与 Method Swizzling(函数混淆)
- 熟悉MonoBehaviour的函数和其执行顺序