zoukankan      html  css  js  c++  java
  • bzoj 1028: [JSOI2007]麻将

    暴力枚举+贪心

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<cstring>
     4 #include<cstdlib>
     5 #include<algorithm>
     6 #include<queue>
     7 #include<map>
     8 #include<cmath>
     9 #define M 100009
    10 #define ll long long
    11 #define Mo 998244353
    12 #define pa pair<int,int>
    13 using namespace std;
    14 ll read()
    15 {
    16     char ch=getchar();
    17     ll x=0,f=1;
    18     for(;ch<'0'||ch>'9';ch=getchar())
    19       if(ch=='-')
    20         f=-1;
    21     for(;ch>='0'&&ch<='9';ch=getchar())
    22       x=x*10+ch-'0';
    23     return x*f;
    24 }
    25 int a[M],shu[M],n,m,ans[M];
    26 bool pan()
    27 {
    28     for(int i=1;i<=n;i++)
    29       a[i]=shu[i];
    30     for(int i=1;i<=n-2;i++)
    31       {
    32         if(a[i]<0)
    33           return 0;
    34         a[i]=a[i]%3;
    35         a[i+1]-=a[i];
    36         a[i+2]-=a[i];
    37       }
    38     if(a[n-1]%3||a[n]%3)
    39       return 0;
    40     return 1;
    41 }
    42 int main()
    43 {
    44     n=read();
    45     m=read();
    46     for(int i=1;i<=3*m+1;i++)
    47       {
    48         int a1=read();
    49         shu[a1]++;
    50       }
    51     for(int i=1;i<=n;i++)
    52       {
    53         shu[i]++;
    54         for(int j=1;j<=n;j++)
    55           {
    56             if(shu[j]<2)
    57               continue;
    58             shu[j]-=2;
    59             if(pan())
    60               {
    61                 ans[++ans[0]]=i;
    62                 shu[j]+=2;
    63                 break;
    64               }
    65             shu[j]+=2;
    66           }
    67         shu[i]--;
    68       }
    69     for(int i=1;i<ans[0];i++)
    70       printf("%d ",ans[i]);
    71     if(!ans[0])
    72       printf("NO
    ");
    73     else
    74       printf("%d
    ",ans[ans[0]]);
    75     return 0;
    76 }
  • 相关阅读:
    使用 Redis 实现分布式系统轻量级协调技术
    高并发系统中的常见问题
    ASP.NET跨平台
    消息队列RabbitMQ
    Redis数据结构
    自定义的配置文件实现动态注入
    redis基础的字符串类型
    持久化redis
    redis
    MS Open Tech 技术团队构建可靠的Windows版Redis
  • 原文地址:https://www.cnblogs.com/xiw5/p/5656649.html
Copyright © 2011-2022 走看看