zoukankan      html  css  js  c++  java
  • 10.25T1 模拟+栈

    Description


     
     
     
     
    很显然栈模拟一下就可以了
    code:
     1 #include<iostream>
     2 #include<cstdio>
     3 #include<stack>
     4 #include<string>
     5 #include<iomanip>
     6 using namespace std;
     7 stack<double>q;
     8 double R[100005];
     9 int main(){
    10     freopen("physic.in","r",stdin);
    11     freopen("physic.out","w",stdout);
    12     int n;
    13     cin>>n;
    14     for(int i=1;i<=n;i++)cin>>R[i];
    15     string S;
    16     cin>>S; 
    17     for(int i=0;i<S.size();i++){
    18         if(S[i]=='('){q.push(-1);}
    19         if(S[i]=='R'){q.push(R[S[i+1]-'0']);i++;}
    20         if(S[i]=='|'){q.push(-2);}
    21         if(S[i]=='-'){q.push(-3);}
    22         if(S[i]==')'){
    23             double now=q.top();
    24             q.pop();
    25             if(q.top()==-2)now=1/now;
    26             int flag=0;
    27             while(q.top()!=-1){
    28                 if(q.top()==-3){
    29                     q.pop();
    30                     now+=q.top();
    31                     q.pop();
    32                 }
    33                 if(q.top()==-2){
    34                     flag=1;
    35                     q.pop();
    36                     now+=1.0/q.top();
    37                     q.pop();
    38                 }
    39             }
    40             q.pop();
    41             if(!flag)
    42             q.push(now);
    43             else{
    44                 q.push(1.0/now);
    45             }
    46         }
    47     }
    48     cout<<fixed<<setprecision(4)<<q.top();
    49     return 0;
    50 }
    51 /*
    52 8
    53 2.3 4.5 8.1 4.0 5.6 7.7 8.8 9.1
    54 (((R1-(R2|R3)-(R4|R5))|(R1-(R2|R3)-(R4|R5)))|(R8-R7-R6))
    55 */

    over

  • 相关阅读:
    从原生web组件到框架组件源码(二)
    从原生web组件到框架组件源码(一)
    拖拽滚动视图(一)
    SVG研究之路(一)下
    运算符
    编码
    格式化输出
    循环语句
    条件语句
    Python基础
  • 原文地址:https://www.cnblogs.com/saionjisekai/p/9852298.html
Copyright © 2011-2022 走看看