Leetcode刷题(一)

 

题目描述

1、有n个物品,每个物品有k个属性,第i件物品的第j个属性用一个正整数表示记为a_{i,j},两个不同的物品i,j呗成为是完美对的当且仅当1≤n≤10^5,2≤k≤10,1≤a_{i}≤100.

输入描述:

第一行两个数字n,k。

接下来n行,第i行k个数字表示a_{i,1},a_{i,2},…,a_{i,k},a_{i,k}

1≤n≤10^5,2≤k≤10,1≤a_{i}≤100

输出描述:

一行一个数字表示答案

示例1

输入

5 3
2 11 21 
19 10 1
20 11 1
6 15 24
18 27 36

输出:

3

python实现:

# 输入物品个数n,输入属性个数k
n, k = map(int, input().split(' '))
# 输入物品属性
a = []
for i in range(0, n):
   m = input()
   m = m.split(' ')[0:k]
   a.append(m)

perfect_couple = 0
for i in range(0, n):
   for j in range(i + 1, n):
      # 属性遍历
      sum = int(a[i][0]) + int(a[j][0])
      num = 1  # 统计和相等个数
      for k1 in range(1, k):
         if int(a[i][k1]) + int(a[j][k1]) == sum:
            num += 1
         else:
            break
      if num == k:
         perfect_couple += 1
print(perfect_couple)

2、求抛物线y^{2}=2Ax与直线y=Bx+c所围成的封闭图形面积。若图行不存在,则输出0.

输入描述:

第一行输入一个正整数T,表示测试数据组数;

接下来欸行输入三个整数A,B和C;

1≤T≤1000

1≤A,B≤100

-100≤C≤100

输出描述:

每组测试数据输出一个答案,在\frac{|userout-realout|}{|realout|}<1e-4范围内都视为正确输出。

示例1

输入

1
1 1 -6

输出

31.2481110540

python实现: 

# 输入测试数据
def x2y(x, B, C):
   y = B * x + C
   return y

def sarea(y_min, y_max, A):
   area = float(0)
   while(y_min < y_max):
      d = y_min**2/2/A*0.00005
      y_min += 0.00005
      area += d
   return area


T = int(input())
test_num = []
# T = int(T)
for i in range(0, T):
   m = input().split(' ')
   test_num.append(m)
for m in test_num:
   A = float(m[0])
   B = float(m[1])
   C = float(m[2])
   # 判断交点
   d = -8 * A * B * C + 4 * A ** 2
   if d <= 0:
      print(0)
   else:
      # 求解交点
      x1 = (2 * A - 2 * B * C + d ** 0.5) / 2 * (B ** 2)
      x2 = (2 * A - 2 * B * C - d ** 0.5) / 2 * (B ** 2)
      y1 = x2y(x1, B, C)
      y2 = x2y(x2, B, C)
      tra_area = abs((x1 + x2) * (y1 - y2) / 2)
      y_max = max(y1, y2)
      y_min = min(y1, y2)
      area2 = abs(sarea(y_min, y_max, A))
      print(tra_area - area2)

3、现在在一个监狱里,有n个房间连在一排,编号为1到n,每一个房间内都有一个人。

现在要每一个人房间的人选择一个1到m之间的数字,若相邻的房间内人选择的数字是一样的,则就会发生冲突。

现在问你有多少种情况夏是可能发生冲突的。

输入描述:

第一行用空格分隔的2个整数m和n;代表数字的范围和房间数量。

1≤n≤10^12

1≤m≤10^8

输出描述:对于每一组数据,输出一个答案表示可能冲突的方案数量,答案对100003取余。

示例1

输入:

2 3

输出:

6

 

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值