NOIP2017金秋冲刺训练营杯联赛模拟大奖赛第一轮Day2

期望得分:100+100+ =200+

实际得分:100+40+70=210

 

T1天天寄快递

直接模拟,代码丢了。。。。。。

 

T2天天和不可描述

splay可A

正解dfs+list

#include<iostream>
#include<list>
#include<cstdio>
using namespace std;
list<char>s;
char c;
void getstr(bool rev,list<char>&tmp)
{
    tmp.clear();
    while(true)
    {
        c=cin.get();
        if(c==')') break;
        else if(c=='(')
        {
            list<char>tmp2;
            getstr(!rev,tmp2);
            if(rev) s.splice(tmp.begin(),tmp2);
            else s.splice(tmp.end(),tmp2);
        }
        else if(rev) tmp.push_front(c);
        else tmp.push_back(c);
    }
}
int main()
{
    while(1)
    {
        c=cin.get();
        if(c==EOF) break;
        else if(c=='(')
        {
            list<char>tmp;
            getstr(true,tmp);
            s.splice(s.end(),tmp);
        }
        else s.push_back(c);
    }
    for(list<char>::iterator iter=s.begin();iter!=s.end();iter++) cout<<*iter;
    return 0;
}
View Code

相关文章:

  • 2022-01-10
  • 2021-12-06
  • 2022-02-02
  • 2021-11-27
  • 2021-11-08
  • 2021-10-11
  • 2022-02-04
  • 2021-08-09
猜你喜欢
  • 2021-10-24
  • 2022-12-23
  • 2022-01-18
  • 2021-12-12
  • 2021-10-05
  • 2021-10-02
  • 2021-11-11
相关资源
相似解决方案