怎么麻烦怎么来了???

提供几个案例:

5 0.00001 0.00001

0 0.0 0.0222

1 0.001 0.2000

2 005.06 0.230

1 00.020 0

贴份代码跑。。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,m;
string s1,s2;
string a,b;
int main()
{
int as,bs;
cin>>n>>s1>>s2;
as = s1.length();
bs = s2.length();
if(n==0)
{
puts("YES 0.*10^0");
return 0;
}
m = n; a = "0.";
b = "0.";
int num1_1 = 0,num1_2=0;
bool flag = false;
int i = 0;
while(s1[i]=='0')
{
i++;
n++;
}
bool flat = false;
for(;i < n && i < as;i++)
{
if(s1[i] >= '0'&& s1[i] <= '9')
{
if(flag)
{
if(!num1_1&&!flat&&s1[i]=='0')
{
n++;
num1_2++;
}
else
{
flat = true;
a.push_back(s1[i]);
}
}
else
{
a.push_back(s1[i]);
num1_1++;
}
}
else
{
flag = true;
n++;
}
}
if(!flat) num1_2 = 0;
else num1_2 = -num1_2; if(!flag)
{
while(i < as)
{
if(s1[i] >= '0' && s1[i] <= '9')
num1_1++;
else break;
i++;
}
}
//printf("%d %d\n",i,n);
while(i<n)
{
a.push_back('0');
i++;
} flag = false;
int num2_1 = 0,num2_2=0;
swap(n,m);
i = 0;
while(s2[i]=='0')
{
n++;
i++;
}
flat = false;
for(;i < n && i < bs;i++)
{
if(s2[i] >= '0' && s2[i] <= '9')
{
if(flag)
{
if(!num2_1&&!flat&&s2[i]=='0')
{
num2_2++;
n++;
}
else
{
flat = true;
b.push_back(s2[i]);
}
}
else
{
b.push_back(s2[i]);
num2_1++;
}
}
else
{
flag = true;
n++;
}
}
if(!flat) num2_2 = 0;
else num2_2 = - num2_2; if(!flag)
{
while(i < bs)
{
if(s2[i] >= '0' && s2[i] <= '9')
num2_1++;
else break;
i++;
}
} while(i < n)
{
b.push_back('0');
i++;
} if(a == b && ((num1_1 && num1_1 == num2_1)||(!num1_1 && num1_2 == num2_2)))
{
cout<<"YES "<<a;
if(num1_1)
cout<<"*10^"<<num1_1<<endl;
else
cout<<"*10^"<<num1_2<<endl;
}
else
{
cout<<"NO ";
cout<<a;
if(num1_1)
cout<<"*10^"<<num1_1;
else
cout<<"*10^"<<num1_2;
cout<<" ";
cout<<b;
if(num2_1)
cout<<"*10^"<<num2_1;
else
cout<<"*10^"<<num2_2;
} }

PAT1060【大模拟啊】的更多相关文章

  1. HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛

    题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...

  2. AC日记——神奇的幻方 洛谷 P2615(大模拟)

    题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...

  3. ACdream 1188 Read Phone Number (字符串大模拟)

    Read Phone Number Time Limit:1000MS     Memory Limit:64000KB     64bit IO Format:%lld & %llu Sub ...

  4. 2016ACM-ICPC网络赛北京赛区 1001 (trie树牌大模拟)

    [题目传送门] 1383 : The Book List 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The history of Peking University ...

  5. Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)

    猪国杀 - 可读版本 https://mubu.com/doc/2707815814591da4 题目可真长,读题都要一个小时. 这道题很多人都说不可做,耗时间,代码量大,于是,本着不做死就不会死的精 ...

  6. (大模拟紫题) Luogu P1953 易语言

    原题链接:P1953 易语言 (我最近怎么总在做大模拟大搜索题) 分别处理两种情况. 如果只有一个1或0 直接设一个cnt为这个值,每次输入一个新名字之后把数字替换成cnt,最后cnt++即可. 注意 ...

  7. NOIP2017 时间复杂度 大模拟

    再写一道大模拟题. 由于是限时写的,相当于考场代码,乱的一批. 题目链接:P3952 时间复杂度 先记几个教训: 字符串形式的数字比较大小老老实实写函数,字典序都搞错几次了 栈空的时候不但pop()会 ...

  8. [CSP-S模拟测试]:引子(大模拟)

    题目描述 网上冲浪时,$Slavko$被冲到了水箱里,水箱由上而下竖直平面.示意图如下: 数字$i$所在的矩形代表一个编号为$i$的水箱.1号水箱为水箱中枢,有水管连出.除了$1$号水箱外,其他水箱上 ...

  9. 模拟赛38 B. T形覆盖 大模拟

    题目描述 如果玩过俄罗斯方块,应该见过如下图形: 我们称它为一个 \(T\) 形四格拼板 .其中心被标记为\(×\). 小苗画了一个 \(m\) 行 \(n\) 列的长方形网格.行从 \(0\) 至 ...

  10. Codeforces 730L - Expression Queries(大模拟)

    Codeforces 题面传送门 & 洛谷题面传送门 大模拟(?)+阿巴细节题,模拟赛时刚了 3h 最后因为某个细节写挂 100->40/ll/ll(下次一定不能再挂分了啊 awa) 首 ...

随机推荐

  1. Android 基础-1.0 按钮4种点击事件

    第一种 测试使用 直接xml添加,平时在自己的测试demo中使用比较多. 1.直接在xml里给按钮添加点击事件 android:onClick="btn_click" 2.按住op ...

  2. 模拟Windows任务管理器CPU使用率的动态折线图-农夫山泉

    Delphi的TCanvas类可以实现各种复杂的图形输出功能,基于近期项目的需求,利用它实现了一个很炫的动态折线图(模拟了资源管理器中CPU使用率的折线图),可以直观地展现出数值的实时变化情况. 这段 ...

  3. SSH三大框架的搭建整合(struts2+spring+hibernate)(转)

    原文地址:http://blog.csdn.net/kyle0349/article/details/51751913  尊重原创,请访问原文地址 SSH说的上是javaweb经典框架,不能说100% ...

  4. c#子线程执行完怎么通知主线程

    定义一个委托实现回调函数 public delegate void CallBackDelegate(string message); 程序开始的时候 //把回调的方法给委托变量 CallBackDe ...

  5. LeetCode:Add Digits - 非负整数各位相加

    1.题目名称 Add Digits (非负整数各位相加) 2.题目地址 https://leetcode.com/problems/add-digits/ 3.题目内容 英文:Given a non- ...

  6. redis的缓存穿透 缓存并发 缓存失效

    我们在用缓存的时候,不管是Redis或者Memcached,基本上会通用遇到以下三个问题: 缓存穿透 缓存并发 缓存失效 一.缓存穿透 Paste_Image.png Paste_Image.png ...

  7. MySQL查询计划输出列的含义

    "一:MySQL查询计划输出列的含义:1.id:每个被独立执行的操作的标识,表示对象被操作的顺序:id值越大,先被执行:如果相同,执行顺序从上到下.2.select_type:查询中每个se ...

  8. 关于日志类Log4j的使用

    log4j 的配置 #下面定义日志输出级别是 INFO,并且配置了2个输出目的地,一个是A3,一个是console log4j.rootLogger = INFO,A3,CONSOLE #日志最低的输 ...

  9. 使用Sed抽取MySQL安装文档的目录及行号

    sed -nr  -e '/^2.|^shell/=' -e '/^2.|^shell/p' INSTALL-SOURCE |awk '{if (NR%2==1) x=$1; else printf ...

  10. Ajax调用后台方法报未定义

    需要在web.config中<system.webServer>节点下添加如下内容 <handlers> <add name="ajax" verb= ...