• HDU 1707


    思路:标记课程表上的课程,询问时遍历课程表,再以字典序输出名字。

     1 #include<iostream>
     2 #include<stdio.h>
     3 #include<stdlib.h>
     4 #include<memory.h>
     5 #include<string.h>
     6 #include<algorithm>
     7 #include<cmath>
     8 #include<stack>
     9 const int MAXX= 50000;
    10 const int mod=1e9+7;
    11 using namespace std;
    12 typedef long long ll;
    13 int T;
    14 int n;
    15 int q;
    16 int k;
    17 struct info
    18 {
    19     bool  data[8][12];
    20     char name[20];
    21 } per[200];
    22 
    23 struct pp
    24 {
    25     char ans[21];
    26 } w[210];
    27 
    28 bool cmp(pp a,pp b)
    29 {
    30     return strcmp(a.ans,b.ans)<0;
    31 }
    32 
    33 int main()
    34 {
    35     freopen("in.txt","r",stdin);
    36     scanf("%d",&T);
    37     while(T--)
    38     {
    39         scanf("%d",&n);
    40         memset(per,0,sizeof(per));
    41         for(int i=1; i<=n; i++)
    42         {
    43             int d,b,e;
    44             scanf("%s%d",per[i].name,&k);
    45             for(int j=1; j<=k; j++)
    46             {
    47                 scanf("%d%d%d",&d,&b,&e);
    48                 while(b<=e)
    49                 {
    50                     per[i].data[d][b]=1;
    51                     b++;
    52                 }
    53                 //memset(per[i].data[d]+b,1,(e-b+1)*sizeof(per[i].data[0][0]));
    54             }
    55         }
    56         scanf("%d",&q);
    57         while(q--)
    58         {
    59             int d,b,e;
    60             scanf("%d%d%d",&d,&b,&e);
    61             //char newname[200][22];
    62             int countt=0;
    63             for(int i=1; i<=n; i++)
    64             {
    65                 bool flag=1;
    66                 for(int j=b; j<=e; j++)
    67                 {
    68                     if(per[i].data[d][j])
    69                     {
    70                         flag=0;
    71                         break;
    72                     }
    73                 }
    74                 if(!flag)
    75                 {
    76                     strcpy(w[countt].ans,per[i].name);
    77                     countt++;
    78                 }
    79             }
    80             if(countt==0)
    81             {
    82                 cout<<"None"<<endl;
    83                 continue;
    84             }
    85             sort(w,w+countt,cmp);
    86             for(int i=0; i<countt; i++)
    87             {
    88                 if(i)
    89                     printf(" ");
    90                 printf("%s",w[i].ans);
    91             }
    92             //printf("%s
    ",newname[countt-1]);
    93             printf("
    ");
    94         }
    95     }
    96     return 0;
    97 }
    View Code
  • 相关阅读:
    Jenkins的maven工程打包的时候怎么指定不同环境的配置文件
    杂记待整理
    zabbix监控网络的出入口流量
    MySQL的恢复脚本
    mysql 备份恢复图
    切割haproxy的日志
    zabbix 监控MySQL
    svn 的备份还原
    svn做目录访问控制(AuthzSVNAccessFile)
    MySQL多实例
  • 原文地址:https://www.cnblogs.com/ITUPC/p/4668604.html
Copyright © 2020-2023  润新知