zoukankan      html  css  js  c++  java
  • 【习题 4-8 UVA

    【链接】 我是链接,点我呀:)
    【题意】

    【题解】

    一个单位时间、一个单位时间地模拟就好。 然后对于每个人。 记录它所处的周期下标idx 每个单位时间都会让每个人的idx++ 注意从醒着到睡着的分界线的处理就好。

    可以多循环几次。。超过上限认为无解
    (其他题解也提供了一种方法,就是如果状态和初始的情况相同的话。就无解了即形成了一个环。
    (可能如果无解一定会形成环?

    【代码】

    #include <bits/stdc++.h>
    #define rep1(i,a,b) for (int i = a;i <= b;i++)
    #define rep2(i,a,b) for (int i = a;i >= b;i--)
    
    using namespace std;
    
    const int N = 10;
    
    int n;
    int a[N+10][N+10];
    int cur[N+10],tot[N+10];
    
    int main()
    {
        //freopen("D:\rush.txt","r",stdin);
        ios::sync_with_stdio(0),cin.tie(0);
        int kase = 0;
        while (cin >> n){
            if (n==0) break;
            rep1(i,1,n){
                int x,y;
                cin >> x >> y >> cur[i];cur[i]--;
                rep1(j,1,x) a[i][j-1] = 1;
                rep1(j,x+1,x+y) a[i][j-1] = 2;
                tot[i] = x+y;
            }
            cout<<"Case "<<++kase<<": ";
            rep1(kk,1,10000){
                int sleep = 0,wake = 0;
                rep1(i,1,n){
                    if (a[i][cur[i]]==1) wake++;else sleep++;
                }
                if (sleep==0){
                    cout<<kk<<endl;
                    break;
                }
                rep1(i,1,n){
                    if (a[i][cur[i]]==1 && a[i][(cur[i]+1)%tot[i]]==2){
                        if (sleep>wake){
                            cur[i] = (cur[i]+1)%tot[i];
                        }else{
                            cur[i] = 0;
                        }
                    }else{
                        cur[i] = (cur[i]+1)%tot[i];
                    }
                }
    
            }
            int sleep = 0;
            rep1(i,1,n)
                if (a[i][cur[i]]==2)
                    sleep++;
            if (sleep>0) cout<<-1<<endl;
        }
        return 0;
    }
    
    
  • 相关阅读:
    BZOJ 1257 余数之和
    BZOJ 1251 序列终结者
    BZOJ 2716 [Violet 3]天使玩偶
    BZOJ 2648 SJY摆棋子
    HDU 1007 Quoit Design
    BZOJ 3504 危桥
    BZOJ 1877 晨跑
    玩转Web之SSH--Heibernate (一)---第一个demo
    网页信息抓取进阶 支持Js生成数据 Jsoup的不足之处
    2013-09-16 构建C1000K的服务器(1) – 基础
  • 原文地址:https://www.cnblogs.com/AWCXV/p/9885679.html
Copyright © 2011-2022 走看看