YCOJ等边三角形
题目
Description小白手上有一些小木棍,它们长短不一,小白想用这些木棍拼出一个等边三角形,并且每根木棍都要用到。 例如,小白手上有长度为 1,2,3,3 的4根木棍,他可以让长度为1,2 的木棍组成一条边,另外 2 跟分别组成 2 条边,拼成一个边长为 3 的等边三角形。小白希望你提前告诉他能不能拼出来,免得白费功夫。Input首先输入一个整数 n(3 ≤ n ≤ 200),表示木棍数量,接下来输入 n 根木棍的长度 p_i(1 ≤ p_i ≤ 10000)。Output如果小白能拼出等边三角形,输出"yes",否则输出"no"。Sample Input 1 5
1 2 3 4 5
Sample Output 1yes
Sample Input 2 4
1 1 1 1
Sample Output 2no
这道题,就不是我们熟知的那种图的搜索了,而是一种纯数的搜索,一种抽象的搜索。
这道题的话,只需要看两条边就行了,如果两条边都等于边应该等于的长度,然后DFS就行了。
源代码:
#include
using namespace std;
bool ok;
int avg;
int n;
int x[1000010];
void dfs(int a,int b,int k){if(a>avg||b>avg || k > n){return;//大于平均数就直接return}if(a==avg&&b==avg){
// cout << a << ","
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
