zoukankan      html  css  js  c++  java
  • [usaco3.2.3]spin

      这道题直接枚举就好了,但我当时竟然没想到,我真是太失败了。。。。。Q_Q

    /*
    ID:abc31261
    LANG:C++
    TASK:spin
    */
    
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    using namespace std;
    const int n=5,maxn=360;
    int s[10],first[10][10],end[10][10],num[10],f[maxn*2];
    bool flag=false;
    
    void solve(int h,int l)
    {
         for (int i=h;i<=l;i++)
         {
             f[i]++;
             if (f[i]>=5)flag=true;
         }
    }
    int main()
    {
        int i,j,l,k;
        freopen("spin.in","r",stdin);
        freopen("spin.out","w",stdout);
        for (i=1;i<=n;i++)
        {
            scanf("%d%d",&s[i],&num[i]);
            for (l=1;l<=num[i];l++)
            {
                scanf("%d%d",&first[i][l],&end[i][l]);
                end[i][l]+=first[i][l];
            }
        }
        for (l=0;l<=360;l++)
        {
            memset(f,0,sizeof(f));
            for (i=1;i<=n;i++)
                for (j=1;j<=num[i];j++)
                {
                    first[i][j]%=maxn; end[i][j]%=maxn;
                    if (first[i][j]>end[i][j])solve(first[i][j],359),solve(0,end[i][j]);
                       else solve(first[i][j],end[i][j]);
                }
             if (flag)break;
             for (i=1;i<=n;i++)
                 for (j=1;j<=num[i];j++)first[i][j]+=s[i],end[i][j]+=s[i];
        }
        if (flag)cout<<l<<endl;
            else cout<<"none"<<endl;
        return 0; 
    }
  • 相关阅读:
    js基础
    装饰模式,代理模式,继承
    Retrofit源码解析
    Android Studio自定义Plugin
    EMV笔记:持卡人认证(CVM)
    阿里代码规范笔记
    文章博客网址收集
    MultiDex解析
    EMV随记(1)
    RSA笔记
  • 原文地址:https://www.cnblogs.com/Sun-Sea/p/5143742.html
Copyright © 2011-2022 走看看