zoukankan      html  css  js  c++  java
  • HDU 2891

    DESCRIPTION: 大意是说 先给你n个 同学的 上课时间。一周的第几天,开始和结束的时间点。然后对应q个出去玩的时间。要你给出谁不能出去。如果都能出去就输出none。

    开始做的时候觉得每个同学的上课信息太多了。还要更新。不知道用什么方法存储。看题解,居然是二维数组8*12....好机智的说....

    附代码:
    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    #include<string>
    #include<algorithm>
    using namespace std;

    struct Lesson
    {
        string name;
        int time[8][12];   //以数组里的数字是1还是0来保存 这个时刻是不是有空。
    }lesson[225];

    int main()
    {
        int t, n;
        cin >> t;
        while(t--)
        {
            cin >> n;
            for (int i=0; i<225; ++i)
            {
                memset(lesson[i].time, 0, sizeof(lesson[i].time));
            }
            for (int i=0; i<n; ++i)              
            {
                int k;
                cin >> lesson[i].name >> k;
                for (int j=0; j<k; ++j)
                {
                    int d, b, e;
                    cin >> d >> b >> e;
                    for (int kk=b; kk<=e; ++kk)
                    {
                        lesson[i].time[d][kk] = 1;
                    }
                }
            }
            int q;
            cin >> q;
            string name[225];
            for (int i=0; i<q; ++i)
            {
                int cnt = 0;
                int d, b, e;
                cin >> d >> b >> e;
                for (int j=0; j<n; ++j)
                {
                    for (int kk=b; kk<=e; ++kk)
                    {
                        if (lesson[j].time[d][kk] == 1)
                        {
                            name[cnt++] = lesson[j].name;
                            break;
                        }
                    }
                }
                if (cnt == 0)
                {
                    cout << "None ";
                    continue;
                }
                sort(name, name+cnt);
                for (int j=0; j<cnt; ++j)
                {
                     if (j == 0)
                        cout << name[j];
                     else cout << ' ' << name[j];
                }
                cout << endl;
            }
        }
        return 0;
    }

  • 相关阅读:
    企业微信通讯录替换-JqueryWEUI Picker替换通讯录
    页面window.onload冲突
    企业微信调试工具
    企业微信:错误码:50001 redirect_url 一例问题解决办法
    企业微信通讯录替换-Echarts中使用部门名称
    紫光拼音输入法切换中英文
    企业微信服务商平台申请
    企业微信通讯录替换-根据员工姓名查找工号
    微信开发 40001 invalid credential
    请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止
  • 原文地址:https://www.cnblogs.com/icode-girl/p/4672064.html
Copyright © 2011-2022 走看看