zoukankan      html  css  js  c++  java
  • Codeforces 749C【模拟】

    FST的时候好像挂了挺多人的~

    其实思路没啥难的,就是更好地理解题意吧,1到n一直循环,直到没有人能vote,一个人能vote也能叉掉一个人,一个人被叉就不能vote,判谁赢。

    其实我管vote干嘛,我管好互叉就好了啊,直到局势一边倒,也就是不能叉了,谁多谁赢,这样肯定是要么D多R多,复杂度不大。

    #include<bits/stdc++.h>
    using namespace std;
    typedef __int64 LL;
    
    const int N=2e5+10;
    
    bool vis[N];
    char s[N];
    int Dnum,Rnum;
    int n,num;
    
    int main()
    {
        memset(vis,0,sizeof(vis));
        scanf("%d",&n);
        scanf("%s",s+1);
    
        Dnum=Rnum=0;
        while(1)
        {
            int flag=false;
            for(int i=1;i<=n;i++)
            {
                if(vis[i]) continue;
                if(s[i]=='D')
                {
                    if(Rnum)
                    {
                        flag=1;
                        vis[i]=1;
                        Rnum--;
                    }
                    else
                        Dnum++;
                }
                else
                {
                    if(Dnum)
                    {
                        flag=1;
                        vis[i]=1;
                        Dnum--;
                    }
                    else
                        Rnum++;
                }
            }
            if(!flag)
                break;
        }
        if(Rnum)
            printf("R");
        else
            printf("D");
        return 0;
    }
    


  • 相关阅读:
    MYSQL分库分表
    MYSQL主从数据库
    mysql not in用法
    python 文件及目录操作
    python 读写文件
    python字符编码
    python类的继承、封装和多态
    python之定义类创建实例
    理解OSI参考模型
    python闭包与装饰器
  • 原文地址:https://www.cnblogs.com/keyboarder-zsq/p/6777482.html
Copyright © 2011-2022 走看看