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多种语言分析,解答。