Global Roaming

Global Roaming,第1张

概述  G: Global Roaming Time Limit: 1000 ms     Case Time Limit: 1000 ms     Memory Limit: 65536 KB Submit: 0     Accepted: 0 Description A great deal in today's mobile communication depends on having a d
G: Global Roaming
Time limit: 1000 ms Case Time limit: 1000 ms Memory limit: 65536 KB
submit: 0 Accepted: 0
Description
A great deal in today's mobile communication depends on having a direct vIEw to a satellite. For communication provIDers it is therefore crucial to kNow where their services are available.
You are to IDentify locations which have a direct vIEw to a particular satellite,i.e. this satellite must be above the horizon. To make things easIEr you may assume that the earth is a perfect sphere with a radius of 6378 km (mountains will be added next year...). The satellite is a pointlike object above the earth's surface.
input
The input file consists of several test cases. For each test case the first line contains the number of locations n to be checked followed by the position of the satellite: its latitude,its longitude (both in degrees) and its height (in km) above the earth's surface.
Each of the following n lines contains a location on the earth's surface: the location's label (a sequence of less than 60 printable ASCII characters containing no whitespace characters) followed by its latitude and longitude (both in degrees).
input is terminated by n=0.
Output
For each test case output the number of the test case as formatted in the sample output. Then,output the locations from where the satellite is visible by printing the corresponding labels on separate lines in the same order as they appear in the input file.
Output a blank line after each test case.
Sample input
3 20.0 -60.0 150000000.0ulm       48.406    10.002Jakarta   -6.13     106.75Honolulu  21.32    -157.832 48.4 10 0.5ulm       48.406    10.002Honolulu  21.32    -157.830 0.0 0.0 0.0
Sample Output
Test case 1:ulmHonoluluTest case 2:ulm
看了Johnson法则的相关内容,推导了一个下午才推出结论,之后就轻松AC了建议先看一下前一篇博文:Johnson法则——流水作业调度——动态规划code:#include <stdio.h>#include <string.h>#include <stdlib.h>#define le 10001int ar[le],br[le],c[le];typedef struct{    int num,mn,flag;}re;re f[le];int n; int cmp(const voID *va,const voID *vb){    return (*(re *)va).mn > (*(re *)vb).mn ? 1 : -1;} int min(int va,int vb){    return va < vb ? va : vb;} voID input(){    int i;    for(i = 0;i < n;i++)        scanf("%d%d",&ar[i],&br[i]);} voID init(){    inti,left=0,right=n;    for(i = 0;i < n;i++){        f[i].num = i;        f[i].mn = min(ar[i],br[i]);        f[i].flag = ar[i] <= br[i];    }    qsort(f,n,sizeof(f[0]),cmp);    for(i = 0;i < n;i++)        if(f[i].flag)   c[left++] = f[i].num;        else      c[--right] = f[i].num;} int getvalue(){    int i,p = 0,sum = 0;    for(i = 0;i < n;i++){        p += ar[c[i]];        sum = (p >= sum ? p +br[c[i]] : sum + br[c[i]]);    }    return sum;} voID deal(){    int ans;    init();    ans=getvalue();    printf("%d\n",ans);} int main(voID){    while(scanf("%d",&n)==1 && n){        input();        deal();    }    return 0;}    
总结

以上是内存溢出为你收集整理的Global Roaming全部内容,希望文章能够帮你解决Global Roaming所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1290766.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存