zoukankan      html  css  js  c++  java
  • nyoj-659-推断三角形(大坑)

    推断三角形

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:2
    描写叙述

      小明非常喜欢研究三角形。如今,小明已经知道三角形的三条边。假设三条边能组成三角形,小明就会非常高兴,他就会得到一个“YE”,假设他经过进一步的研究知道它又是等腰三角形,

    他又会得一个“YE”,他再次研究出它又是一个等边三角形,当然,他又会得到一个“YE”。

    小明当然不想自己推断了。那请你帮他写一个程序计算出给你三条边小明会得到几个“YE”?

    提示1:最后普通三角形得到一个,等腰得到两个。等边得到三个

    提示2:请严格按以下输出格式输出

    输入
    首先,输入一个T,代表有几组測试数据。


    接下来有T行,每行有三个数,代表三条边。

    输出
    对于每组測试数据首先输出”Case #H:”H代表第几组測试数据,接下来输出小明得到的“YE”
    数目,假设小明得不到“YE”。请输出“NO”。
    例子输入
    23 3 25 2 1
    例子输出
    Case #1:YE YECase #2:NO

    解题思路:

            这是一道非常水非常水的题,可是我却做了半天,是我思路出问题了。

            一開始我让sum=0,三个条件并列,每符合一个条件则sum++,然后相应几就输出几个YE。

            可是当输入2 2 5时,本来不能构成三角形。可是我的输出却为YE

            这是为什么呢?

             由于三个条件不是并列的。是包括关系,即第二个条件的前提是第一个条件。第三个条件的前提是前两个条件。

             看好多人都说明明測试数据正确。可是却WA了。这个时候一定要静下心来,假设不是在比赛过程中。你能够先放下,忙会儿其它的,分散一下注意力之后再回来做。

    代码

    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    int bian[5];
    int main()
    {
    	int n;
    	int i;
    	int now=1;
    	int sum;
    	scanf("%d",&n);
    	while(n--)
    	{
    		for(i=1;i<=3;i++)
    		    scanf("%d",&bian[i]);
    		sort(bian+1,bian+4);
    		sum=0;
    		/*最初做法(三条件并列)
    		if(bian[1]+bian[2]>bian[3])
    		    sum++;
    		if(bian[1]==bian[2]||bian[2]==bian[3])
    		    sum++;
    		if(bian[1]==bian[2]&&bian[1]==bian[3])
    		    sum++;
    		*/ 
    		if(bian[1]+bian[2]>bian[3])
    		{
    		    sum++;
    		    if(bian[1]==bian[2]||bian[2]==bian[3])
    		    {
    		        sum++;
    		        if(bian[1]==bian[2]&&bian[1]==bian[3])
    		            sum++;
    		    }
    		}
    		printf("Case #%d:
    ",now);
    		switch(sum)
    		{
    			case 0:printf("NO
    ");break;
    			case 1:printf("YE
    ");break;
    			case 2:printf("YE YE
    ");break;
    			case 3:printf("YE YE YE
    ");break;
    		}
    		now++;		
    	}
    	return 0;
    }


  • 相关阅读:
    hdu 1074
    hdu 4091
    hdu 4422
    hdu 3940
    hdu 2831
    hdu 1172
    hdu 3732
    hdu 1250
    hud 2073
    IOS socket基于tcp/udp的通信
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/6702196.html
Copyright © 2011-2022 走看看