东方博宜OJ1018题解

        说一下这个题,其中所有的知识点和难点最后再说一下答案。

        这个题其实乍一看的话不是那么难,当然只是乍一看,对于小白来说刚看见是应该是没有体会到它的难点的。但是当你在做题的时候你就会发现可能会有一些不好理解的地方。那么我就从头开始解析 一下。

        先看要求:

输入三个整数,以这三个数为边长,判断是否构成三角形;若不能输出 no 。

若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。

分别输出 ruijiao , zhijiao dunjiao 。

从中可以看到说是整数那么也就先是说明了定义函数的要求了。我没有试过用double行不行我直接用的是int更保险。先定义四个函数:a,b,c和d,以至于为什么后面的代码中就可以看到了。

        再看后面给的提示:

两个短边的平方和等于一个长边的平方时为直角三角形。

两个短边的平方和小于一个长边的平方时为钝角三角形。

两个短边的平方和大于一个长边的平方时为锐角三角形。

很多人这么一看是看不出来它给了什么重要或是有用的信息,但是你在后面做题的时候就会发现怎么确定最短边和最长边成为了一个难题。所以这里就该用到一个大招了——冒泡排序。其实只要会了冒泡排序这个题也就很简单了。剩下的就是判断三角形的类型了主要就是if的运用。

#include <bits/stdc++.h>
using namespace std;

int main(){
	int a,b,c,d;
	cin>>a>>b>>c;
	if (a<b){
		d=a;
		a=b;
		b=d;
	}
	if (b<c){
		d=c;
		c=b;
		b=d;
	}
	if (a<b){
		d=a;
		a=b;
		b=d;
	}
	if (a>=b+c){
		cout<<"no"<<endl;
	}
	else{
		if (b*b+c*c==a*a){
			cout<<"zhijiao"<<endl;
		}
		else if (b*b+c*c<a*a){
			cout<<"dunjiao"<<endl;
	    }
	    else {
	    	cout<<"ruijiao"<<endl;
		}	
	}
}

经过这么一番操作就可以得出a肯定是最大数了,而b是最小的。而这个a>=b+c这个if则是必不可少的。

<think>好的,我需要帮助用户找到东方OJ平台上的第1295题的题目解析或解答。首先,用户提供的引用内容都是关于其他题目的解答,比如1000、1003、1010等,但并没有直接提到1295题的信息。这种情况下,我需要先确认是否有相关的资源或者线索可以找到1295题的解答。 首先,我会检查用户提供的引用内容是否有隐藏的信息。引用[1]提到了冒泡排序的代码,引用[2]和[3]是关于数列求和和适应OJ环境的题目。这些可能与1295题无关,但可能需要考虑1295题可能的类型,例如排序、数学问题或基础算法题。 接下来,我会考虑用户可能的需求。用户可能需要具体的代码示例或算法解析。但由于缺乏题目描述,直接给出答案可能不准确。因此,我需要建议用户提供题目描述,以便更准确地帮助解答。 另外,根据用户提供的其他题解的结构,东方OJ的题目可能偏向于基础算法和编程练习,如排序、求和等。1295题可能属于类似类型,比如数组操作、动态规划、字符串处理等常见题型。 如果用户无法提供题目描述,我可以尝试推测可能的解题方向,并给出一般性的解题建议。例如,如果是数组问题,可能需要遍历或双指针技巧;如果是动态规划,可能需要状态转移方程的分析;如果是字符串处理,可能需要考虑字符操作或模式匹配。 此外,我可以建议用户检查OJ平台的题目分类或标签,或者搜索相关的题解论坛、社区,看看是否有其他用户分享过该题的解答。同时,提醒用户注意代码的正确性和效率,确保符合题目要求的时间和空间限制。 最后,总结可能的步骤:确认题目描述,分析问题类型,选择合适的算法,编写并测试代码。如果用户能提供更多信息,可以进一步细化解答步骤和具体实现。</think>根据您提供的引用内容,目前可获取的东方OJ题解范围集中在1000-1010题区间,未包含1295题的具体解析。针对这类未公开题解的题目,建议通过以下步骤解决问题: 1. **题目分析** - 首先在OJ平台找到题目描述,明确输入输出格式 - 判断题目类型(如排序、搜索、动态规划等) - 注意数据范围约束($n \leq 10^3$ 或 $n \leq 10^6$ 对应不同算法) 2. **算法选择** 若为典型题型可参考: - 数组操作:双指针/滑动窗口(时间复杂度$O(n)$) - 数学问题:推导公式(如引用[2]的高斯求和公式) - 排序算法:优先考虑快速排序(平均时间复杂度$O(n \log n)$)[^1] 3. **代码框架** ```cpp #include <bits/stdc++.h> using namespace std; int main() { // 输入处理 int n; cin >> n; // 核心算法实现 // ... // 结果输出 return 0; } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值