牛油们,这道笔试题咋做了
有N条线段,长度分别为a[1]-a[N]。现要求你计算这N条线段最多可以组合成几个直角三角形,每条线段只能使用一次,每个三角形包含三条线段。
输入描述:
第一行输入一个正整数T(1 <= T <= 100),表示有T组测试数据。
对于每组测试数据,接下来有T行,每行第一个正整数N,表示线段个数,(3<=N<20),接着是N个正整数,表示每条线段长度,(0<a[i]<100)。


输入描述:
第一行输入一个正整数T(1 <= T <= 100),表示有T组测试数据。
对于每组测试数据,接下来有T行,每行第一个正整数N,表示线段个数,(3<=N<20),接着是N个正整数,表示每条线段长度,(0<a[i]<100)。
全部评论
这个数据量一眼暴力能解 20的三次×一百 数量级不高
一眼三数之和的模板
void backTrace(const vector<int> &nums, vector<bool> &used, int counter, int num_edge, int &max_value, int current_sum) {
if(num_edge == 3) {
num_edge = 0;
counter ++;
current_sum = 0;
max_value = std::max(counter, max_value);
}
int n = nums.size();
for(int i = 0; i < n; ++i) {
if(!used[i] &&(num_edge < 2 || (num_edge == 2 && current_sum == nums[i]))) {
used[i] = true;
backTrace(nums, used, counter, num_edge + 1, max_value, current_sum + nums[i]);
used[i] = false;
}
}
}
int rightTriangle(vector<int> &nums) {
int n = nums.size();
vector<bool> used(n, false);
for(int i = 0; i < n; ++i) {
nums[i] = nums[i] *nums[i];
}
int max_value = INT_MIN;
backTrace(nums, used, 0, 0, max_value, 0);
return max_value;
}
我考的时候没全部ac
相关推荐
查看6道真题和解析 点赞 评论 收藏
分享
Xuan2333:没错没错就是我,牛客娘表情包的创作者,大家都可以自用哒awa
(第5张“按住牛客娘开始思索”出自我的世界里的机械动力模组,我做这个表情包可是花了我1个多小时的时间啊qwq)
最后附上所有用过的素材图,希望大家喜欢awa
wow
将图片中的人物改成两手托腮,只显示头部照片,眼睛为星星眼,表情开心,并在下方附上文字“wow”
Ciallo
将第二张图的人物做出第一张图的姿势并且要在身体各处还有五官和动作完全一致,不要改背景,高分辨率,最佳质量,并在下方加上和图片相符的文字“Ciallo!”
说不出话
生成这个任务面无表情,一脸犹豫,嘴角下垂,双手交叉在胸前,在中间加上一个带有一条斜杠的麦克风的表示闭麦的符号,并且在下面配上文字“说不出话”
按住牛客娘开始思索
将第二张图的人物进行修改,要求是有一只手按在人物的头上,人物的眼神灵动,手略有着急的轻微摆起,头部微微抬起,并将第一张图放在第二张图的下方,高品质,把这张图的下方的黑色部分加上文字“按住牛客娘开始思索”,字体与图片里展示的“牛客娘”这三个字的字体相一致
我也要WA吗
将第一张图的人物的头发,脸部和衣服改成第二张图的人物的,眼睛保持不变,脸上的汗保持不变,头发的长度修改为和图片的一致,脸上不要有红晕,眼睛里不要有高光,眼睛里只要纯灰色
查看图片
查看图片 点赞 评论 收藏
分享
01-04 20:58
淮北师范大学 Java 点赞 评论 收藏
分享

