把#include <bits/stdc++.h>//万能头文件,不用调用头文件<map> using namespace std; int main() { long long n,c,co=0; //要开long long,否则会 WA 一个数据点 cin>>n>>c; int a[n+1]; map<int,int> b;//键值和映照数据都是 int 类型 for(int i=1; i<=n; i++) { cin>>a[i]; b[a[i]]++; } for(int i=1; i<=n; i++) co+=b[a[i]+c];//反向思维,枚举 B+C cout<<co<<endl; return 0; }改写用python
时间: 2024-04-10 08:35:10 浏览: 118
c++万能头文件(包含所有其他头文件)#include<bits/stdc++.h> 注:此cpp文件包含万能头文件以及基本框架
5星 · 资源好评率100%
你可以使用以下代码将给定的C++代码转换为等效的Python代码:
```python
n, c = map(int, input().split())
a = list(map(int, input().split()))
b = {}
for i in range(n):
if a[i] in b:
b[a[i]] += 1
else:
b[a[i]] = 1
co = 0
for i in range(n):
if a[i] + c in b:
co += b[a[i] + c]
print(co)
```
请注意,C++ 中的数组索引是从 1 开始的,而 Python 中的列表索引是从 0 开始的。因此,在 Python 代码中,我们使用 `range(n)` 而不是 `range(1, n+1)` 来遍历数组。另外,C++ 中的 `map` 是有序的,而 Python 中的字典 (`dict`) 是无序的,但这不会影响代码的正确性。
阅读全文