zoukankan      html  css  js  c++  java
  • poj1234

    模拟,注意1号第一次投出球后其thinking方向不改变。

    View Code
    #include <iostream>
    #include <cstdio>
    #include <cstdlib>
    #include <cstring>
    using namespace std;
    
    #define maxn 35
    
    int n, m;
    int d[maxn];
    int dir[2] = {-1, 1};
    bool vis[maxn];
    
    void input()
    {
        char st[5];
    
        scanf("%d", &m);
        m--;
        for (int i = 0; i < n; i++)
        {
            scanf("%s", st);
            if (st[0] == 'R')
                d[i] = 1;
            else
                d[i] = 0;
        }
    }
    
    int unify(int a)
    {
        return (a + n) % n;
    }
    
    void work()
    {
        int s = m;
        int t = unify(0 + dir[d[m]]);
        if (t == m)
            t = unify(t + dir[d[m]]);
        int cnt = 1;
        int ret = 1;
    
        vis[m] = true;
        memset(vis, 0, sizeof(vis));
        while (cnt < n)
        {
    //        printf("%d to %d\n", s + 1, t + 1);
            vis[s] = true;
            d[s] = 1 - d[s];
            ret++;
            if (!vis[t])
                cnt++;
            int temp = unify(s + dir[d[t]]);
            if (temp == t)
                temp = unify(temp + dir[d[t]]);
            s = t;
            t = temp;
        } 
        printf("Classmate %d got the ball last after %d tosses.\n", s + 1, ret);
    }
    
    int main()
    {
    //    freopen("t.txt", "r", stdin);
        while (scanf("%d", &n), n)
        {
            input();
            work();
        }
        return 0;
    }
  • 相关阅读:
    term "JavaScript"
    Pro Git
    Pro Git
    Pro Git
    git
    flask
    OJ
    [蓝桥杯]Huffuman树
    priority_queue优先队列
    [蓝桥杯]高精度加法
  • 原文地址:https://www.cnblogs.com/rainydays/p/2964759.html
Copyright © 2011-2022 走看看