严凯 发表于 2020-12-14 19:35:17

算法

#include<stdio.h>
int main()
{
        int n,i,j,*a=0,*b=0,*a1=0,*b1=0,count=0,falg1,falg2;
        scanf("%d",&n);         //输入有几条直线
        int (*p)=new int;       //定义一个动态数组
        for(i=0;i<n;i++)
                scanf("%d,%d",(*(p+i)+0),(*(p+i)+1));       //输入每条直线的斜率和斜截距,
        for(i=0;i<=n-1;i++)
                for(j=i+1;j<=n;j++)
                {
                        *a=*(*(p+i)+0)*(-10)+*(*(p+i)+1);          //前一条直线在x=-10处的值
                *b=*(*(p+i)+0)*10+*(*(p+i)+1);                     //前一条直线在x=10处的值
                        *a1=*(*(p+i)+0)*(-10)+*(*(p+i)+1);      //后一条直线在x=-10处的值
                        *b1=*(*(p+i)+0)*10+*(*(p+i)+1);            //后一条直线在x=10处的值
                        if(*a>*a1)                                                //下面就是判断直线是否有交点
                                falg1=1;
                        else
                                falg1=0;
                        if(*b>*b1)
                                falg2=1;
                        else
                                falg2=0;
                                if(falg1!=falg2)
                                        count=count+2;                   //因为他说有k个交点就有k+1个面 ,所以是count+2      
                }
                printf("%d",count);    输出平面数
        return 0;
}






//大佬帮我!唉唉唉

严凯 发表于 2020-12-14 20:33:23

https://s3.ax1x.com/2020/12/14/ruY3dO.png

严凯 发表于 2020-12-14 20:33:54

严凯 发表于 2020-12-14 20:33


抱歉抱歉,题目发错了,我的我的

jackz007 发表于 2020-12-14 20:35:02

      子串分值的和不是已经帮你解决了吗,怎么又题问?

严凯 发表于 2020-12-15 18:12:56

jackz007 发表于 2020-12-14 20:35
子串分值的和不是已经帮你解决了吗,怎么又题问?

不是,我图片发错了,真正的图片在下面

严凯 发表于 2020-12-15 18:13:26

jackz007 发表于 2020-12-14 20:35
子串分值的和不是已经帮你解决了吗,怎么又题问?

大佬帮我看看
页: [1]
查看完整版本: 算法