栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

poj 2674 Linear world

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

poj 2674 Linear world

#include <iostream>#include <cstdio>#include <cstring>#include <set>#include <algorithm>#include <map>#include <queue>#include<cmath>#include<vector>#define maxn 32000+10#define maxm 100010#define mod 1000000000000000000#define INF 0x3f3f3f3fusing namespace std;struct node{    double x;    char name[1010];    bool operator < (const node & a)const{        return fabs(x)<fabs(a.x);    }}a[maxn];int main (){    int n;    char ch[10];    while(scanf("%d",&n)!=EOF){        if(n==0)break;        double l,v;        scanf("%lf%lf",&l,&v);        gets(ch);        for(int i=0;i<n;++i){ char dir[10]; scanf("%s %lf %s",dir,&a[i].x,&a[i].name); gets(ch); if(dir[0]=='n'||dir[0]=='N'){     a[i].x*=-1; }        }        sort(a,a+n);        double ans =0;        int ansid=0;        bool flag =true;        for(int i=0;i<n;++i){ double last = (a[i].x<0?0:l)-a[i].x; if(last>ans+1e-6){     ans=last;     ansid=i;     flag = a[i].x>0.0; }        }        int cnt=0;        if(flag){ for(int i=ansid;i<n;++i){     if(a[i].x<0.0)cnt++; } ansid+=cnt;        }        else { for(int i=ansid;i>=0;--i){     if(a[i].x>0.0)cnt++; } ansid-=cnt;        }        ans/=v;        ans = (int)(ans*100)/100.0;        printf("%13.2f %sn",ans,a[ansid].name);    }}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/371178.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号