• pku 2584 TShirt Gumbo


    题目:http://poj.org/problem?id=2584

    代码:

    View Code
     1 #include<stdio.h>
    2 #include<string.h>
    3 int n,m,mark[201],num[201],start[201],end[201];
    4 bool map[201][201],visit[201];
    5
    6
    7 void get_map()
    8 {
    9 int i,j,k;
    10 char s[12];
    11 scanf("%d",&n);
    12 for(i=0;i<n;i++)
    13 {
    14 scanf("%s",s);
    15 switch(s[0])
    16 {
    17 case 'S':start[i]=0;break;
    18 case 'M':start[i]=1;break;
    19 case 'L':start[i]=2;break;
    20 case 'X':start[i]=3;break;
    21 case 'T':start[i]=4;break;
    22 }
    23 switch(s[1])
    24 {
    25 case 'S':end[i]=0;break;
    26 case 'M':end[i]=1;break;
    27 case 'L':end[i]=2;break;
    28 case 'X':end[i]=3;break;
    29 case 'T':end[i]=4;break;
    30 }
    31 }
    32 for(i=0;i<5;i++)
    33 scanf("%d",&num[i]);
    34 m=0;
    35 memset(map,0,sizeof(map));
    36 for(i=0;i<5;i++)
    37 {
    38 for(j=0;j<num[i];j++)
    39 {
    40 for(k=0;k<n;k++)
    41 {
    42 if(i>=start[k]&&i<=end[k])
    43 map[m][k]=1;
    44 }
    45 m++;
    46 }
    47 }
    48 }
    49
    50 bool dfs(int k)
    51 {
    52 int i;
    53 for(i=0;i<n;i++)
    54 {
    55 if(map[k][i]&&!visit[i])
    56 {
    57 visit[i]=1;
    58 if(mark[i]==-1||dfs(mark[i]))
    59 {
    60 mark[i]=k;
    61 return true;
    62 }
    63 }
    64 }
    65 return false;
    66 }
    67
    68 bool solve()
    69 {
    70 int i,count=0;
    71 memset(mark,-1,sizeof(mark));
    72 for(i=0;i<m;i++)
    73 {
    74 memset(visit,0,sizeof(visit));
    75 if(dfs(i))
    76 count++;
    77 }
    78 if(count==n)
    79 return true;
    80 return false;
    81 }
    82
    83 int main()
    84 {
    85 char st[31];
    86 while(scanf("%s",st)!=EOF)
    87 {
    88 if(!strcmp(st,"ENDOFINPUT"))
    89 break;
    90 get_map();
    91 scanf("%s",st);
    92 if(solve())
    93 printf("T-shirts rock!\n");
    94 else
    95 printf("I'd rather not wear a shirt anyway...\n");
    96 }
    97 return 0;
    98 }

      

  • 相关阅读:
    Python利用Remove.bg接口自动消除图片背景
    解决ajxa跨域问题
    CentOS7 修改静态IP
    CentOS下 安装composer 与tp5.1
    centon 安装php-fpm+Nginx
    win10 安装selenium和使用
    Scrapy 爬虫框架入门
    Python 异常处理
    selenium和phantomjs的介绍
    MongoDB入门
  • 原文地址:https://www.cnblogs.com/lujiacheng/p/2116658.html
Copyright © 2020-2023  润新知