后缀表达式 大整数(加法、乘法、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. c++ undefinede reference to 构造函数/析构函数

    g++编译器问题 把头文件"a.h"和头文件实现文件"a.cpp"都include就解决了.

  2. python3.6环境中django2.0与xadmin0.6结合的后台管理

    1.xadmin简介 django的admin管理后台页面很简洁,对个人来说做后台管理非常简单:xadmin的比较admin优化界面,看着也舒服. xadmin界面效果如下: 2.xadmin安装 从 ...

  3. 配置idea

    http://www.cnblogs.com/yangyquin/p/5285272.html

  4. php 数组去重

    php 数组去重 数组中重复项的去除 2010-07-28 15:29 一维数组的重复项: 使用array_unique函数即可,使用实例如下: <?php                    ...

  5. TeamWork#3,Week5,Scrum Meeting 11.16

    到目前为止各方面工作已经基本完成,爬虫程序也调整完毕,正在等待全部整合. 成员 已完成 待完成 彭林江 完成爬虫结构调整 新爬虫与服务器连接 郝倩 完成爬虫结构调整 新爬虫与服务器连接 高雅智 重定位 ...

  6. Linux下查看cpu使用率

    top命令 是Linux下常用的性能 分析工具 ,能够实时显示系统 中各个进程的资源占用状况,类似于Windows的任务管理 器.下面详细介绍它的使用方法. top - 02:53:32 up 16 ...

  7. 实验二 四则运算 完成版 ver.1

    package size; import java.awt.EventQueue; import javax.swing.JFrame; import javax.swing.JMenuBar; im ...

  8. 【CSAPP笔记】14. 异常控制流和进程

    从给处理器加电,到断电为止,处理器做的工作其实就是不断地读取并执行一条条指令.这些指令的序列就叫做 CPU 的控制流(control flow).最简单的控制流是"平滑的",也就是 ...

  9. Java Head First & 多态

    package com.cwcec.tag; class Fruit { } class Apple extends Fruit{} class Animal { public Fruit eat(F ...

  10. Prism6下的MEF:添加Logger

    上篇已经简单的构建了一个Prism的程序,现在我们需要添加一个Logger,Prism本身自带一个功能简单的TextLogger,但是我们希望能用.Net常用的Log4net.所以我们需要重载掉Boo ...