编程介的小学生 2019-03-06 23:37 采纳率: 20.5%
浏览 218

顺序重排的算法的问题,输出可行性判断,采用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!

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 js调用html页面需要隐藏某个按钮
    • ¥15 ads仿真结果在圆图上是怎么读数的
    • ¥20 Cotex M3的调试和程序执行方式是什么样的?
    • ¥20 java项目连接sqlserver时报ssl相关错误
    • ¥15 一道python难题3
    • ¥15 牛顿斯科特系数表表示
    • ¥15 arduino 步进电机
    • ¥20 程序进入HardFault_Handler
    • ¥15 关于#python#的问题:自动化测试
    • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题