USACO 1.3-Ski Course Design

来源:互联网 发布:unity3d 获取主摄像机 编辑:程序博客网 时间:2024/04/29 23:12
校赛的题啊,后悔没有早早做了!!!校赛啊!!!那么丰厚的奖品呢!!!唉~省赛加油吧!!!
/*ID: 15901291TASK: skidesignLANG: C++*/#include <iostream>#include <fstream>#include <algorithm>#include <math.h>/******************************************************************************************************************            数据小,直接枚举长度为17的范围即可。            UPDATE: 枚举所有长度为17的间隔并求对应费用,                    如1和18,即求把所有高度大于18的山变为18和小于1的山变为1的费用,                    然后对所有间隔对应的费用求最小值******************************************************************************************************************/using namespace std;int a[1050];int main(){    ifstream fin("skidesign.in");    ofstream fout("skidesign.out");    int T;    while(fin>>T)    {        int price=1<<30,ans;        for(int i = 0;i < T;i ++)   fin>>a[i];        sort(a,a+T);        for(int i = 0;i <= 83;i ++){            ans=0;      //注意这里,每次需要将 ans 赋值为 0            for(int j = 0;j < T;j ++){                if(a[j] < i)    ans+=pow(i-a[j],2);                if(a[j] > i+17) ans+=pow(a[j]-17-i,2);            }            price=min(price,ans);        }        fout<<price<<endl;    }    return 0;}

0 0
原创粉丝点击