• 2018美团点评内推第一道编程题-教师分组批改作业


    学生分为n组,每个组si个人,老师收取第一组所有试卷,发给第二组同学,与此同时把收取的第二组同学的试卷放在发给第二组后剩余的试卷下面........按此循环,发给最后一组适量试卷,再将手中剩余试卷发给第一组学生。

    这两个问题与老师收取试卷的顺序有一定关系,因为如果不找一个合适的顺序的话,手中的试卷是不够发给下一组的,还有也会存在有的同学会批改自己的试卷。那么你能否设计老师收取试卷的顺序从而避免上述两个问题,若存在一定顺序,输出“Yes”,否则,输出“No”。

    输入:

    第一行:分组个数n

    第二行:每个组的学生数si

    输出:

    能满足条件:Yes

    不能满足条件:No

     

    输入样例:

    2

    20 10

    4

    1 3 2 3

    输出样例:

    No

    Yes

    c++实现代码:

    #include <iostream>
    #include <vector>
    #include <algorithm>
    using namespace std;
    
    int main()
    {
        int n;
        cin >> n;
        vector<int> groupVec;
        int si;
        for (int i = 0; i < n; i++)
        {
            cin >> si;
            groupVec.push_back(si);
        }
        sort(groupVec.begin(), groupVec.end());
    
        if (n == 1 || (n == 2 && groupVec[0] != groupVec[1]))
        {
            cout << "NO" << endl;
        }
        else if (n == 2 && groupVec[0] == groupVec[1])
        {
            cout << "YES" << endl;
        }
        else
        {
            int temp = 0;
            for (int j = 0; j < n - 1; j++)
            {
                temp += groupVec[j];
            }
            if (temp < groupVec[n - 1])
                cout << "NO" << endl;
            else
                cout << "YES" << endl;
        }
        return 0;
    }

    已经在VS2015下面测试通过。

  • 相关阅读:
    [友谊篇FRIENDSHIP]Learn with whole Life 一生的学习
    IIS还原备份xml配置文件
    从A到Z的人生名言
    爱情六十九课,节制抱怨
    C# list 去重复
    win7 iis7.5 下配置MVC3问题
    Kill oracle session
    Windows7删除文件提示"您需要权限来执行此操作"没有权限无法删除文件的解决方法
    json对象
    js的属性和方法的类型
  • 原文地址:https://www.cnblogs.com/huster666/p/7462523.html
Copyright © 2020-2023  润新知