首页 > 其他 > 详细

1537: Miscalculation(栈)

时间:2015-03-26 19:29:28      阅读:206      评论:0      收藏:0      [点我收藏+]
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<stack>
using namespace std;
char str[20];
int main()
{
    int n;
    int len,ans;
    int s1,s2;
    int i,j,k;
    while(scanf("%s",str)!=EOF)
    {
        s1=0;s2=0;
        scanf("%d",&ans);
        stack<int> q;
        len=strlen(str);
        for(i=0;i<len;i++)
        {
            if(i%2==0)
            {
                q.push(str[i]-‘0‘);
            }
            else
            {
                if(str[i]==‘*‘)
                {
                    i++;
                    int temp=q.top();
                    q.pop();
                    temp=temp*(str[i]-‘0‘);
                    q.push(temp);
                }
            }
        }
        while(!q.empty())
        {
            s1+=q.top();
            q.pop();
        }
        //if(q.empty()) printf("dddddddd\n");
        for(i=0;i<len;i++)
        {
           if(i%2==0)
            {
                s2+=(str[i]-‘0‘);
            }
            else
            {
                if(str[i]==‘*‘)
                {
                    i++;
                    s2*=(str[i]-‘0‘);
                }
            }
        }
        //printf("dddddd\n");
        if(s1==ans&&s1!=s2) printf("M\n");
        else if(s2==ans&&s1!=s2) printf("L\n");
        else if(s1==ans&&s1==s2) printf("U\n");
        else printf("I\n");
 
    }
    return 0;
}

  

1537: Miscalculation(栈)

原文:http://www.cnblogs.com/sola1994/p/4369271.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!