后缀表达式 大整数(加法、乘法、gcd java)

 import java.math.BigInteger;
import java.util.Scanner; class Work {
String str;
int _num,_sym;
int []sym=new int[1000];
BigInteger []num=new BigInteger[1000];
int []w=new int[1000]; Work() {
BigInteger x,y;
int wx,wy;
Scanner in=new Scanner(System.in);
str=in.nextLine();
work();
x=num[1];
wx=w[1];
str=in.nextLine();
work();
y=num[1];
wy=w[1]; if (wx>wy)
System.out.println("1/0");
else if (wx<wy)
System.out.println("0/1");
else
{
BigInteger z;
z=x.gcd(y);
x=x.divide(z);
y=y.divide(z);
System.out.print(x+"/"+y);
}
in.close();
} void cal()
{
if (sym[_sym]==2)
{
if (w[_num-1]<w[_num])
{
w[_num-1]=w[_num];
num[_num-1]=num[_num];
}
else if (w[_num-1]==w[_num])
num[_num-1]=num[_num-1].add(num[_num]);
}
else if (sym[_sym]==3)
{
w[_num-1]+=w[_num];
num[_num-1]=num[_num-1].multiply(num[_num]);
}
_sym--;
_num--;
} void work()
{
int len,i;
BigInteger z;
len=str.length();
z=BigInteger.valueOf(1);
_num=0;
_sym=0;
sym[0]=0; for (i=0;i<len;i++)
{
if (str.charAt(i)=='x')
{
num[++_num]=z;
w[_num]=1;
}
else
{
switch(str.charAt(i))
{
case '+':
while (sym[_sym]>=2)
cal();
sym[++_sym]=2;
break;
case '*':
while (sym[_sym]>=3)
cal();
sym[++_sym]=3;
break;
case '(':
sym[++_sym]=1;
break;
case ')':
while (sym[_sym]!=1)
cal();
_sym--;
break;
}
}
}
while (_sym>0)
cal();
}
} public class Main {
public static void main(String[] args) {
Work work=new Work();
}
}

多项式 Wannafly挑战赛22的更多相关文章

  1. Wannafly挑战赛22游记

    Wannafly挑战赛22游记 幸运的人都是相似的,不幸的人各有各的不幸. --题记 A-计数器 题目大意: 有一个计数器,计数器的初始值为\(0\),每次操作你可以把计数器的值加上\(a_1,a_2 ...

  2. Wannafly挑战赛22 C 多项式(大数,多项式极限)

    链接:https://ac.nowcoder.com/acm/contest/160/C 来源:牛客网 多项式 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言 ...

  3. Wannafly挑战赛 22

    爆零祭 T1 这题第一反应gcd啊 所以就把每个a[i]对m取模 然后求它们的gcd 即res = gcd(a[1] % m, a[2] % m, ... , a[n] % m) ans = 1 + ...

  4. Wannafly 挑战赛22 D 整数序列 线段树 区间更新,区间查询

    题目链接:https://www.nowcoder.com/acm/contest/160/D 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语言524288K ...

  5. Wannafly挑战赛22 A-计数器(gcd,裴蜀定理)

    原题地址 题目描述 有一个计数器,计数器的初始值为0,每次操作你可以把计数器的值加上a1,a2,...,an中的任意一个整数,操作次数不限(可以为0次),问计数器的值对m取模后有几种可能. 输入描述: ...

  6. Wannafly挑战赛22

    B. 字符路径 给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符,问图上有几条路径满足路径上经过的边上的字符组成的的字符串去掉空格后以大写字母开头,句号 '.' ...

  7. Wannafly挑战赛22 D 整数序列 (线段树维护三角函数值)

    链接:https://ac.nowcoder.com/acm/contest/160/D 来源:牛客网 整数序列 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语 ...

  8. Wannafly挑战赛22 B 字符路径 ( 拓扑排序+dp )

    链接:https://ac.nowcoder.com/acm/contest/160/B 来源:牛客网 题目描述 给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符 ...

  9. Wannafly挑战赛13 zzf的好矩阵 题解 答案解释

    Wannafly挑战赛13 zzf的好矩阵 题解 文章目录 Wannafly挑战赛13 zzf的好矩阵 题解 分析 结论1 结论2 结论3 C数组对应带子说明 空白长度论述 后续黑色长度论述 能&qu ...

随机推荐

  1. mongodb基本使用(一)

    1.启动.停止和重启mongodb服务 brew services start mongodb  ---启动 brew services stop mongodb --停止 brew services ...

  2. IntelliJ IDEA 自动编译功能无法使用,On 'update' action:选项里面没有update classes and resources这项

    https://zhidao.baidu.com/question/1381265197230335740.html

  3. /etc/profile不生效问题

    http://blog.csdn.net/cuker919/article/details/54178611

  4. DB2分页查询简单示例

    select * from ( select a.* ,rownumber() over(order by create_time desc) as rowid from ( select * fro ...

  5. 10.29 scrum meeting newbe软件团队工作分配

    这次会议,我们主要讨论了目前阶段的主要任务与任务分配问题. 首先,通读代码,理解程序的运行方式是必不可少的环节.所以我们要求团队的所有成员通读代码.并且对于开发人员和测试人员,要求写出我们分配的各自模 ...

  6. 20162314 《Program Design & Data Structures》Learning Summary Of The First Week

    20162314 2017-2018-1 <Program Design & Data Structures>Learning Summary Of The First Week ...

  7. 软工实践-Beta 冲刺 (7/7)

    队名:起床一起肝活队 组长博客:博客链接 作业博客:班级博客本次作业的链接 组员情况 组员1(队长):白晨曦 过去两天完成了哪些任务 描述: 1.界面的修改与完善 展示GitHub当日代码/文档签入记 ...

  8. JAVA学习IO(1)

    面向过程和面向对象的区别:面向过程:把问题分析成一个一个步骤组成的过程面向对象:从一个问题中分析出各个功能对象,并描述各个功能在整个解决问题的步骤的行为.面向对象的3大特征:封装,继承,多态封装:把多 ...

  9. APP分析----饿了么

    产品      饿了么 选择原因:有了外卖就可以轻松拥有一个不用出门也饿不着的爽歪歪周末. 第一部分 调研, 评测 下载软件并使用起来,描述最简单直观的个人第一次上手体验. 主界面: 第一次上手是大一 ...

  10. 【转】(C#)OPC客户端源码

    本例下载/Files/badnewfish/OPC测试通过.rar 转载申明 申明:本文为转载,如需转载本文,请获取原文作者大尾巴狼啊的同意,谢谢合作! 转自:大尾巴狼啊 原文出处:http://ww ...