zoukankan      html  css  js  c++  java
  • 京东2016校园实习生招聘系统测试岗在线笔试编程题

    试题一:复习安排

    输入包含多组测试数据。首先输入一行包含两个数据复习的天数d和所用总时间sumtime。

    接下来的d行,每一行含有两个数据,分别表示父亲希望儿子复习的时间的下线imintime和上限imaxtime。

    儿子只记录了复习所用总时间数,但是为了向父亲汇报,他必须要汇报出每天安排的复习时间数,以完成父亲的要求,请帮助他设计每天复习的时间。

    如果无法完成安排,则输出“No”;如果可以完成安排,则输出"Yes",并且输出安排每天复习的时间数。为了博得父亲的开心,他希望使得前期复习的时间数尽量多。

    输入测试:

    1 48

    2 7

    2 5

    0 1

    3 5

    输出测试:

    No

    Yes

    1 4

    代码实现:

     1 #include <iostream>
     2 #include <vector>
     3 
     4 using namespace std;
     5 
     6 struct Limit
     7 {
     8     int imintime;
     9     int imaxtime;
    10 };
    11 
    12 typedef struct Limit limit;
    13 
    14 
    15 int main()
    16 {
    17     int d, sumtime;
    18     while (cin >> d >> sumtime)
    19     {
    20 
    21     limit *num = new limit[d];
    22     int totalmin = 0;
    23     int totalmax = 0;
    24     int left = sumtime;
    25     vector<int> vec(d,0);
    26     for (int i = 0; i<d; ++i)
    27     {
    28         cin >> num[i].imintime >> num[i].imaxtime;
    29         totalmin += num[i].imintime;
    30         totalmax += num[i].imaxtime;
    31         vec[i] = num[i].imintime;
    32         left -= vec[i];
    33     }
    34 
    35 
    36     int temp;
    37     if (sumtime<totalmin || sumtime>totalmax)
    38     {
    39         cout << "No" << endl;
    40         continue;
    41     }
    42     else if (sumtime >= totalmin&&sumtime <= totalmax)
    43     {
    44         for (int i = 0; i < d; ++i)
    45         {
    46             if (left>0)
    47             {
    48                 if (left >= num[i].imaxtime-num[i].imintime)
    49                 {
    50                     vec[i] = num[i].imaxtime;
    51                     left = left-(num[i].imaxtime-num[i].imintime);
    52                 }
    53                 else
    54                 {
    55                     vec[i] += left;
    56                     left = 0;
    57                 }
    58             }
    59         }
    60     }
    61 
    62     cout << "Yes" << endl;
    63     for (int i = 0; i < vec.size(); i++)
    64     {
    65         if (i < vec.size() - 1)
    66         {
    67             cout << vec[i] << " ";
    68         }
    69         else
    70             cout << vec[i] << endl;
    71     }
    72     }
    73     system("pause");
    74     return 0;
    75 }

    用例测试:

    试题二:选举游戏

    每一组测试数据包含两行,第一行只有一个数据d,表示候选人的总数。

    第二行包含一组数据,表示这d个候选人当前的最大可能得票数。

    其中这组数据的第一个是你本人的得票数,为了使得自己能够成功在本次选举中获胜(票数最高),请设计出你最少需要拉多少票,以及从每个其他候选人身上拉得的票数。

    代码实现:

     1 #include <iostream>
     2 #include <vector>
     3 
     4 using namespace std;
     5 
     6 
     7 int getmaxindex(vector<int> myvec)
     8 {
     9     int index = 0;
    10     int max = 0;
    11     for (int  i = 0; i < myvec.size(); i++)
    12     {
    13         if (myvec[i]>=max)
    14         {
    15             max = myvec[i];
    16             index = i;
    17         }
    18     }
    19     return index;
    20 }
    21 
    22 int main()
    23 {
    24     int d;
    25     cin >> d;
    26     vector<int> vec(d, 0);
    27     for (int  i = 0; i < d; i++)
    28     {
    29         cin >> vec[i];
    30     }
    31     int original = vec[0];
    32     vector<int> original_vec(vec.begin(),vec.end());
    33     while (1)
    34     {
    35         if (getmaxindex(vec) != 0)
    36         {
    37             vec[getmaxindex(vec)]--;
    38             vec[0]++;
    39         }
    40         else
    41             break;
    42     }
    43     cout << vec[0] - original << endl;
    44 
    45     for (int i = 1; i < d; i++)
    46     {
    47         if (i < d - 1)
    48             cout << original_vec[i] - vec[i] << " ";
    49         else
    50             cout << original_vec[i] - vec[i] << endl;
    51 
    52     }
    53 
    54     system("pause");
    55     return 0;
    56 }

    用例测试:

  • 相关阅读:
    字符编码相关
    函数之形参与实参
    文件操作模式
    函数对象,名称空间,作用域,和闭包
    吴裕雄天生自然SPRINGBOOT开发实战处理'spring.datasource.url' is not specified and no embedded datasource could be autoconfigured
    吴裕雄天生自然SPRINGBOOT开发实战处理XXXX that could not be found.
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot HTML表单登录
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot REST示例
    吴裕雄天生自然SpringBoot开发实战学习笔记处理 Could not write metadata for '/Servers'.metadata\.plugins\org.eclipse.core.resources\.projects\Servers\.markers.snap (系统找不到指定的路径。)
    吴裕雄天生自然SPRINGBOOT开发实战SpringBoot Tomcat部署
  • 原文地址:https://www.cnblogs.com/lou424/p/5374493.html
Copyright © 2011-2022 走看看