顺序重排的算法的问题,输出可行性判断,采用C语言的算法思路的实现

Problem Description
Bob is a journalist, nowadays,he has a trouble. You know ,the Olympic Games is around the corner, as a fan of athletic sports, he certainly wants to see the Olympic Games, but as a journalist, the Olympic Games seems to be the busiest time,because Bob needs to report so many games.Fortunately , he has a kind boss.He gives Bob a target, as long as Bob meets the requirement, he can go home to see the Olympic Games.
Now,the boss gives every competition a value, which represents the importance of the competition.As long as the sum of the competitions' value that Bob reported is not less than the target, he can go home.Although there are a lot of competitions every day,some competitions may take at the same time, so Bob can only choose some competitions to report.Now the problem is what's the earliest time that Bob can go home?
To finish his work more easily, Bob gets some information about the competition.He finds every day is divided into 24 parts and every competition takes up at most 2 parts.There are 3 kinds of competitions:the first one only takes up 1 part of a day;the second one takes up two successional parts
of a day,it means the competition will hold at the p day's q and (q+1) part;the third one is special,it is held at two successional days,it means the competition will hold at the p and p+1 days' q part(ie.If a competition is held at the 2 day's 3 part, it will also take up the 3 day's 3 part.)
Meanwhile Bob finds two competitions' first parts will not coincide,and two competitions' second parts will not coincide .

Input
The first line contains the number of cases.
For each case, there are several lines represent the information of the competitions (The number of competitions will not exceed 1150).Each line includes p : the start day of the competition (0 <= p <50); q : the start part of the competition (0 <= q <23) ; a string s represents the form of the competition ( "first" or "second" or "third" as recorded above ) ) the last one is the value of the competition m (0 <m <1000). Separate line with -1 means the end of the competition. Then a line with a num, need (0 <= need <2000000), means the boss's target.

Output
For every case ,output the earliest day that Bob can go home.If it is impossible,output "what a pity!"

Sample Input
2
0 17 third 999
-1
990
0 1 second 90
0 2 first 900
-1
990

Sample Output
1
what a pity!

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐