zoukankan      html  css  js  c++  java
  • 2017 Qinhuangdao Site CCPC L&&C

    很难过的一场比赛,自己不能再浪费时间了,前一段太浪了。很差劲的自己啊... 唔.. 所以今天代码能出的全部自己写一遍... 真的难受一批..别浪了... 还有 以后读题好好读别自己有一点点想法然后就胡思乱想,形成有体系的思路再传递给队友啊..真的差劲...加油吧..

    以后不写copy题目了直接传送门

    L - One-Dimensional Maze ZOJ - 3992

    比赛传送门:https://cn.vjudge.net/contest/227061#problem/L

    题意:

    给出字符串和一个位置,若'R' 就走向S[t+1] 若‘L’ 就走向S[t-1] 可以改变其中的字母,目的是可以走向S[0]或s[n-1]问改变最少的字母是多少

    分析:

    一开始在想怎么所在位置的字母怎么处理,结果突然意识到根本不需要特殊处理,遍历时候包含到即可。

    #include <iostream>
    using namespace std;
    int main()
    {
        int t;
        cin>>t;
        while(t--)
        {
            int n;
            cin>>n;
            int m;
            cin>>m;
            string s;
            cin>>s;
            int cnt1=0;
            int cnt2=0;
            for(int i=1;i<=m-1;i++)
                if(s[i]=='R')
                    cnt1++;
            for(int i=m-1;i<n-1;i++)
                if(s[i]=='L')
                    cnt2++;
            cout<<min(cnt1,cnt2)<<endl;
        }
        return 0;
    }
    

    C - Crusaders Quest ZOJ - 3983

    比赛传送门:https://cn.vjudge.net/contest/227061#problem/C

    题意

    三个相同的可以消去并得分,后面的往前移动

    分析

    模拟写了半天 然后应该是没考虑全啊呸,然后WA了,然后突然想到了栈模拟,用双端队列实现...因为很智障的问题debug一个小时。贴上我辛苦辛苦debug的代码...
    为什么想到栈呢,因为我们只需要考虑类似于有间隔连续问题(就好像紫书那道火车的题啊)
    if 相同三个元素就pop 若栈为空 cout<<3<<endl ;
    else if 不push栈某个其中一个字母,如果栈为空cout<<2 <<endl
    else cout<<1<<endl

    #include<queue>
    #include<iostream>
    using namespace std;
    string gao="gao";
    deque<char>dq;
    void judge()
    {
        if(dq.size()>=3)
        {
            if(dq[0]==dq[1]&&dq[1]==dq[2])
            {
                dq.pop_front(); dq.pop_front(); dq.pop_front();
            }
            
        }
    }
    int main ()
    {
        int t;
        cin>>t;
        while(t--)
        {
            string s;
            cin>>s;
            dq.clear();
            for(int i=0;i<9;i++)
            {
                judge();
                dq.push_front(s[i]);
                judge();
            }
            //cout<<dq.size()<<'!'<<endl;
            if(dq.empty())
            {
                cout<<3<<endl;
                continue;
            }
            int flag=0;
            for(int i=0;i<3;i++)
            {
                dq.clear();
                char tmp=gao[i];
                for(int j=0;j<9;j++)
                {
                    if(s[j]==tmp) continue;
                    judge();
                    dq.push_front(s[j]);
                    judge();
                    if(dq.empty())
                        flag=1;
                }
            }
            if(flag)
                cout<<2<<endl;
            else
                cout<<1<<endl;
    
        }
        return 0;
    }
    

    明天继续填坑啊呜呜呜呜

  • 相关阅读:
    关于oracle数据库(10)函数
    关于oracle数据库(9)
    关于oracle数据库(8)查询2
    关于oracle数据库(7)查询1
    关于oracle数据库(6)约束
    关于oracle数据库(5)增删改查
    关于oracle数据库(4)数据类型
    爬虫之beautifulsoup
    影视项目报错情况及处理
    多app应用等系列汇总
  • 原文地址:https://www.cnblogs.com/muvseea/p/8993465.html
Copyright © 2011-2022 走看看