|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
问题描述:
AtCoder 商店有N种商品。第i种商品(1≤i≤N)的价格为Pi。第i种商品(1≤i≤N)有Ci个功能。第i种商品(1≤i≤N)的第j个功能(1≤j≤Ci)用一个介于1到M之间的整数Fi,j表示。
Takahashi想知道是否存在一个产品严格优于另一个产品。如果存在i和j(1≤i,j≤N),使得第i种和第j种商品满足以下所有条件,请打印Yes;否则,打印No。
1. Pi ≥ Pj。
2. 第j种商品具有第i种商品的所有功能。
3. Pi > Pj,或者第j种商品具有第i种商品缺少的一个或多个功能。
限制条件
2≤N≤100
1≤M≤100
1≤Pi≤10^5(1≤i≤N)
1≤Ci≤M(1≤i≤N)
1≤Fi,1<Fi,2<...<Fi,Ci≤M(1≤i≤N)
所有输入值均为整数。
输入
从标准输入中以以下格式给出输入:
N M
P1 C1 F1,1 F1,2 ... F1,C1
P2 C2 F2,1 F2,2 ... F2,C2
...
PN CN FN,1 FN,2 ... FN,CN
输出
在一行中打印答案。
样例输入1
5 6
10000 2 1 3
15000 3 1 2 4
30000 3 1 3 5
35000 2 1 5
100000 6 1 2 3 4 5 6
样例输出1
Yes
(i,j)=(4,3)满足所有条件。
没有其他满足条件的配对。例如,对于(i,j)=(4,5),第j种商品具有第i种商品的所有功能,但是Pi
<Pj,所以它不是严格优于第i种商品。|
我的代码:
- N, M = map(int, input().split())
- p = []
- for _ in range(N):
- a, b, *c = map(int, input().split())
- p.append((a, b, c))
- h = lambda x, y: all(i in y for i in x)#尝试用小甲鱼教的 lambda 函数
- s = lambda u, v: u[0] > v[0] and h(u[2], v[2])
- flag = False
- i = 0
- while i < len(p):
- j = 0
- while j < len(p):
- if i != j and s(p[i], p[j]):
- flag = True
- break
- j += 1
- if flag:
- break
- i += 1
- if flag:
- print("Yes")
- else:
- print("No")
复制代码
错了一个点,呜呜呜
相当于有 100 个元素的数组,全是 0。
- [[0 for i in range(101)] for i in range(101)]
复制代码
相当于有 101 个元素的数组,全是一个有 101 个元素的数组,且都是零,具体化来说,就是一个 101 行 101列的二维数组,里面全是 0。
这是基本用法。
|
|