本文主要是介绍ACM Runway Planning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:
Most airports have multiple runways. To identify runways, they are given a number indicat- ing the direction of the runway. Such a runway number is obtained by dividing the heading of the runway in degrees by ten, rounding the result, and optionally prefixing it with a ‘0’ if the result has only a single digit. For example, a runway with a heading of 82° is indicated by the number 08.If you are paying attention, you might think “a runway can be used in both directions, and therefore has two headings, but it is only assigned one runway number.” You are correct: normally a runway is identified by two numbers, based on the direction in which the runway is used. To simplify matters, we only concern ourselves with the smallest of these two num- bers, except if it is zero; we then use 18 instead. The runway numbers thus range from 01 to 18.
Now, you might think, “what if two runways have the same heading?” In that case, the characters ‘L’ and ‘R’ are appended to the number of the left and right runway, respectively. But what if three runways have the same heading? Then, the character ‘C’ is appended to the center runway. “But”, I can hear you ask, “what if four runways have the same heading?” If you really want to know, look up how Dallas/Fort Worth International Airport solved this problem after the contest. At any rate, we do not concern ourselves with multiple runways having the same heading in this problem, so you can forget all you read in this paragraph.
The runway in use is mostly determined by the current direction of the wind. It is pre- ferred to take off and land with headwind. If it is not possible to have the wind coming from straight ahead, its direction should be as close to that as possible. For example, if an airport has the runways 05 and 15, and the wind has a heading of 70°, taking off and landing using runway 05 is preferred, since the heading of that runway is closest to the heading of the wind.
Now, consider an airport already having one or more runways, and planning the con- struction of a new runway. Obviously, this runway should have a unique runway number: not only would we otherwise have a problem outside the boundaries of our restricted runway numbering outlined above, but, most importantly, this increases the probability of being able to take off or land with headwind.
The engineers at the airport under consideration have already determined the heading of the new runway, but still need you to determine the runway number. Note that the engineers are not very considerate with their input to your problem. They give you one heading of the runway, but it can be either the lowest or the highest heading of the runway. Be sure to give the lowest of the two runway numbers, as discussed in the second paragraph of this problem statement, even if you are given the highest of the two headings from the engineers.
输入格式
On the first line one positive number: the number of test cases, at most 100. After that per test case:
- one line with a single integer hh (1 \leq h \leq 3601≤h≤360): the heading of the new runway in degrees.
输出格式
Per test case:
- one line with the runway number of the newly constructed runway.
样例输入
4 82 115 316 4
样例输出
08 12 14 18
题意:
让你给每个对应的角度编号,题目中说了范围是01-18,因此会有一个对18的取模,之后又说除以10并且四舍五入,因此题意就是不断的除以10四舍五入然后减去18继续上述操作(就是直接对18取模了)
代码:
#include<stdio.h>
using namespace std;
int main()
{
int k,n;
scanf("%d",&n);
while(n--)
{
scanf("%d",&k);
k=((k+5)/10)%18;//整数的四舍五入就直接加上5;
if(k==0) printf("18\n");
else printf("%02d\n",k);
}
return 0;
}
这篇关于ACM Runway Planning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!