牛客小白月赛32

A.拼三角

题意:给你六根小木棍,问是否能组成两个三角形。

思路:,总共就只有十种可能,列举全部,判断是否构成三角形。

代码:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=10010;
int a[10];
int main()
{
	int n;
	cin>>n;
	int flag;
	while(n--){
		for(int i=1;i<=6;i++) cin>>a[i];
		sort(a+1,a+7);
		flag=0;
		if(a[1]+a[2]>a[3]&&a[4]+a[5]>a[6]) flag=1;
		if(a[1]+a[2]>a[4]&&a[3]+a[5]>a[6]) flag=1;
		if(a[1]+a[2]>a[5]&&a[4]+a[3]>a[6]) flag=1;
		if(a[1]+a[2]>a[6]&&a[4]+a[3]>a[5]) flag=1;
		if(a[1]+a[3]>a[4]&&a[2]+a[5]>a[6]) flag=1;
		if(a[1]+a[3]>a[5]&&a[2]+a[4]>a[6]) flag=1;
		if(a[1]+a[3]>a[6]&&a[2]+a[4]>a[5]) flag=1;
		if(a[1]+a[4]>a[5]&&a[2]+a[3]>a[6]) flag=1;
		if(a[1]+a[4]>a[6]&&a[2]+a[3]>a[5]) flag=1;
		if(a[1]+a[5]>a[6]&&a[2]+a[3]>a[4]) flag=1;
		if(flag) puts("Yes");
		else puts("No");
	}	
}

C.消除整数

题目:
给出一个正整数H,从1开始减,第一次必须减1,每次减的数字都必须和上一次相同或者是上一次的两倍,请问最少需要几次能把H恰好减到0。
思路:
从1开始减(设i为1),后面只能减 i 或者2* i,也就是说只能减2的倍数,那么如果一开始n为双数就得减两次i=1(题目要求第一次必须减1,为了确保n能到0所以需要保证n是双数),否则减一次。确保n为双数以后开始循环,如果能被i的两倍整除,那么就i* 2,否则就减自身i不变。用num作为计数器就好了。

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-04 18:25
点赞 评论 收藏
分享
07-01 13:37
门头沟学院 Java
steelhead:不是你的问题,这是社会的问题。
点赞 评论 收藏
分享
07-07 11:33
江南大学 Java
已经在暑假实习了&nbsp;,没有明确说有hc,纠结实习到八月份会不会有点影响秋招毕竟感觉今年好多提前批
程序员小白条:92的话准备提前批,其他没必要,没面试机会的,而且你要准备充分,尤其八股和算法题
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务