2023 富途笔试 富途笔试题 0916
笔试时间:2023年9月16日 秋招
第一题
题目:完美对
有n个物品,每个物品有k个属性,第i件物品的第j个属性用一个正整数表示记为aij,两个不同的物品i,j被称为是完美对的当且仅当ai1十aj1 =ai2 十 aj2 =···=aik 十ajk,求完美对的个数。
输入描述
第一行两个数字n,k。
接下来n行,第i行k个数字表示ai1,ai2,...,aik。
1 <= n <= 10^5, 2 <= k <= 10, 1 <= ai <= 100
输出描述
一行一个数字表示答案。
样例输入
5 3
2 11 21
19 10 1
20 11 1
6 15 24
18 27 36
样例输出
3
参考题解
模拟,每一个偶数转化成字符串拼接上已有的字符串后面,直到字符串长度超过n。
C++:[此代码未进行大量数据的测试,仅供参考]
#include <iostream>
#include <map>
#include <vector>
using namespace std;
typedef long long ll;
const int N = 100004;
int n, k;
map<vector<int>, int> mp;
int main() {
ll ans = 0;
cin >> n >> k;
vector<int> u(k), v(k);
for (int i = 0; i < n; i++) {
for (int j = 0; j < k; j++) {
cin >> u[j];
}
int mn = *min_element(u.begin(), u.end());
int mx = *max_element(u.begin(), u.end());
for (int s = mx + 1; s <= mn + 100; s++) {
for (int j = 0; j < k; j++) {
v[j] = s - u[j];
}
auto it = mp.find(v);
if (it != mp.end()) {
ans += it->second;
}
}
++mp[u];
}
cout << ans << endl;
return 0;
}
Java:[此代码未进行大量数据的测试,仅供参考]
import java.util.*;
import java.util.stream.IntStream;
public class Main {
public static void main(String
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
2023 秋招笔试题汇总解析 文章被收录于专栏
2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。
阿里云工作强度 602人发布
查看8道真题和解析