zoukankan      html  css  js  c++  java
  • 格子游戏

    题目描述(数据结构)

    有n个格子,从左到右放成一排,编号为1-n。
    共有m次操作,有3种操作类型:
    1.修改一个格子的权值,
    2.求连续一段格子权值和,
    3.求连续一段格子的最大值。
    对于每个2、3操作输出你所求出的结果。

    输入

    输入第一行两个整数,n表示格子个数,m表示操作次数,n和m中间用空格隔开;
    接下来输入n行,每行一个整数表示一个格子的权值
    接下来输入m行,每行有三个整数,中间用空格隔开;第一个是选择的操作类型1-3,第二和第三个整数是操作格子的编号。

    输出

    若执行1操作则无输出
    若执行2和3操作则输出一个整数

    样例输入

    3 3
    7
    8
    9
    2 1 3
    3 1 3
    2 1 2

    样例输出

    24
    9
    15

    破题思路:

    本题主要涉及两个函数:求和函数、求最大值
    其它设置:一个存取格子权值的链表

    程序源码:

    while True:
    	mn = raw_input()
    	mn=mn.strip().split()
    
    	n = int(mn[0])
    	m = int(mn[1])
    
    	weight_int=[]
    	for i in range(n):
    		weight=raw_input().strip().split()
    		weight=''.join(weight)
    		weight_int.append(int(weight))
    
    	s=[]
    	for i in range(m):
    		s.append(raw_input().strip().split())
    
    	def f(start,end,weight_int):
    	
    		t=0
    		for i in range(start-1,end):
    			t=t+weight_int[i]
    		return t
    
    	for operate in s:
        
    		t=operate	
            
    		if t[0]=='3':
    			b=max(weight_int)
    
    			print b
    		if t[0]=='2':
    
    			start=int(t[1])
    			end=int(t[2])
    		 	b=f(start,end,weight_int)
    		 	print b
    		else:
    			pass
    
  • 相关阅读:
    Oracle连接数过多释放机制
    Sql优化(三) 关于oracle的并发
    查询Oracle正在执行的sql语句
    odi增量更新策略
    如何查询Oracle性能监控
    Oratop工具——实时数据库性能监控工具
    Oracle超出最大连接数问题及解决
    oracle查看允许的最大连接数和当前连接数等信息
    八大算法思想
    面向切面编程的解释
  • 原文地址:https://www.cnblogs.com/wisteria68/p/12333840.html
Copyright © 2011-2022 走看看