CCF练习——09.02

tech2022-08-16  132

题目链接

#! /usr/bin/env python # #coding:utf-8 my_map = matrix = [[0 for i in range(101)] for i in range(101)] n = int(input()) maxi = 0 maxj = 0 for i in range(n): data = input().split() ##刚开始用的是这种输入,还不知道使用map来辅助输入 x1 = int(data[0]) y1 = int(data[1]) x2 = int(data[2]) y2 = int(data[3]) if maxi < x2: maxi = x2 if maxj < y2: maxj = y2 for j in range(x1, x2 + 1): for k in range(y1, y2 + 1): my_map[j][k] = 1 ans = 0 for i in range(maxi): for j in range(maxj): if my_map[i][j] == 1 and my_map[i][j + 1] == 1 and my_map[i + 1][j] == 1: ans += 1 print(ans)

题目链接

import numpy as np def judge(theta0, theta1, theta2, x, y): if theta2 != 0: ##这是普通的情况,还有theta2 == 0的情况需要考虑 pre = -1 * (theta0 + theta1 * x) / theta2 if y > pre: return True else: return False else: pre = -1 * theta0 / theta1 if x < pre: return True else: return False n, m = map(int, input().split()) ##表示要输入的点的个数和要输入的查询的个数 list_n = [] ##将来存储点的序列 for i in range(n): x, y, type = map(str, input().split()) x = int(x) y = int(y) ##获得输入的点的坐标和类型信息 list_temp = (x, y, type) list_n.append(list_temp) ##将现在输入的点作为元组存储进序列中 list_m = [] ##存储查询的序列 for i in range(m): theta0, theta1, theta2 = map(int, input().split()) ##获得输入的直线的三个参数 res_A = -1 ##存储上一个A类型点的结果 res_B = -1 ##存储上一个B类型点的结果 flag = True ##同样类型的点的分类中是否有不一致的情况 for dot in list_n: res = judge(theta0, theta1, theta2, dot[0], dot[1]) ##下面来判断这个点和之前同类型的点分类是否已相同 if dot[2] == 'A': if res_A != -1 and res_A != res: flag = False break res_A = res ##运行到这里表明标签是A并且是第一次赋值或者是运行结果和上一次是一样的 elif dot[2] == 'B': if res_B != -1 and res_B != res: flag = False break res_B = res if flag and res_A != res_B: print('Yes') else: print('No')

题目链接

n, a, b = map(int, input().split()) ##分别表示输入的向量维数, 第一个向量中非零分量的个数,第二个向量中非零分量的个数 list_a = {} ##用来存储u向量的各分量 for i in range(a): index, value = map(int, input().split()) #表示输入的向量的分量的下标和相对应的值 list_a[index] = value list_b = {} for i in range(b): index, value = map(int, input().split()) list_b[index] = value ans = 0 for index in list_a.keys(): if list_b.get(index): ans += list_a[index] * list_b[index] print(ans)

最后这个题,是60分,看了一些博客也没看出来要怎么修正。

最新回复(0)