zoukankan      html  css  js  c++  java
  • POJ 3154/模拟(最小墓地移动长度)

    原来有a个坑,现在要添加b个坑,前后每个坑的间距都要是一样的,环形圈的长度为10000,求最小的坑移动长度

    原来肯定有一个坑不动,剩下a-1个坑,a+b个坑的平均间距为average,对于这a-1个坑,如果它的坐标x满足:average*j<=x<=average*(j+1),则min(x-average*j,average*(j+1)-x)则为此坑移动距离

    Sample Input
    sample input #1
    2 1
    
    sample input #2
    2 3
    
    sample input #3
    3 1
    
    sample input #4
    10 10
    
    Sample Output
    sample output #1
    1666.6667
    
    sample output #2
    1000.0
    
    sample output #3
    1666.6667
    
    sample output #4
    0.0

    #include "stdio.h"
    int main()
    {
    
    	int before,after;
    	double be,af,sum=0.0;
    	scanf("%d%d",&before,&after);
    	be=(double)10000/before;
    	af=(double)10000/(before+after);
    	int j=1;
    	for(int i=1;i<before;i++)
    	{
    		
    		double p1,p2;
    		p1=i*be;
    		while(1)
    		{
    		
    			p2=j*af;
    			if(p2<=p1&&p1<=p2+af)break;
    			j++;
    		}
    		if(p1-p2<p2+af-p1)sum+=p1-p2;
    		else sum+=p2+af-p1;
    	}
    	if((int)sum==sum)printf("%d.0",(int)sum);
    	else
    	printf("%.4lf",sum);
    	return 0;
    }
  • 相关阅读:
    typeof返回的结果必定是字符串
    coe文件格式
    求余算法的FPGA实现
    dBm
    信噪比
    增益
    总谐波失真THD
    基波与谐波
    Tco时候在干嘛?
    AXI4-Slave自定义IP设计
  • 原文地址:https://www.cnblogs.com/yangyh/p/2072542.html
Copyright © 2011-2022 走看看