PAT1060【大模拟啊】
怎么麻烦怎么来了???
提供几个案例:
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【大模拟啊】的更多相关文章
- HDU 5920 Ugly Problem 高精度减法大模拟 ---2016CCPC长春区域现场赛
题目链接 题意:给定一个很大的数,把他们分为数个回文数的和,分的个数不超过50个,输出个数并输出每个数,special judge. 题解:现场赛的时候很快想出来了思路,把这个数从中间分为两部分,当位 ...
- AC日记——神奇的幻方 洛谷 P2615(大模拟)
题目描述 幻方是一种很神奇的N*N矩阵:它由数字1,2,3,……,N*N构成,且每行.每列及两条对角线上的数字之和都相同. 当N为奇数时,我们可以通过以下方法构建一个幻方: 首先将1写在第一行的中间. ...
- ACdream 1188 Read Phone Number (字符串大模拟)
Read Phone Number Time Limit:1000MS Memory Limit:64000KB 64bit IO Format:%lld & %llu Sub ...
- 2016ACM-ICPC网络赛北京赛区 1001 (trie树牌大模拟)
[题目传送门] 1383 : The Book List 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 The history of Peking University ...
- Bzoj1972: [Sdoi2010]猪国杀 题解(大模拟+耐心+细心)
猪国杀 - 可读版本 https://mubu.com/doc/2707815814591da4 题目可真长,读题都要一个小时. 这道题很多人都说不可做,耗时间,代码量大,于是,本着不做死就不会死的精 ...
- (大模拟紫题) Luogu P1953 易语言
原题链接:P1953 易语言 (我最近怎么总在做大模拟大搜索题) 分别处理两种情况. 如果只有一个1或0 直接设一个cnt为这个值,每次输入一个新名字之后把数字替换成cnt,最后cnt++即可. 注意 ...
- NOIP2017 时间复杂度 大模拟
再写一道大模拟题. 由于是限时写的,相当于考场代码,乱的一批. 题目链接:P3952 时间复杂度 先记几个教训: 字符串形式的数字比较大小老老实实写函数,字典序都搞错几次了 栈空的时候不但pop()会 ...
- [CSP-S模拟测试]:引子(大模拟)
题目描述 网上冲浪时,$Slavko$被冲到了水箱里,水箱由上而下竖直平面.示意图如下: 数字$i$所在的矩形代表一个编号为$i$的水箱.1号水箱为水箱中枢,有水管连出.除了$1$号水箱外,其他水箱上 ...
- 模拟赛38 B. T形覆盖 大模拟
题目描述 如果玩过俄罗斯方块,应该见过如下图形: 我们称它为一个 \(T\) 形四格拼板 .其中心被标记为\(×\). 小苗画了一个 \(m\) 行 \(n\) 列的长方形网格.行从 \(0\) 至 ...
- Codeforces 730L - Expression Queries(大模拟)
Codeforces 题面传送门 & 洛谷题面传送门 大模拟(?)+阿巴细节题,模拟赛时刚了 3h 最后因为某个细节写挂 100->40/ll/ll(下次一定不能再挂分了啊 awa) 首 ...
随机推荐
- BZOJ 1096 [ZJOI2007]仓库建设:斜率优化dp
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1096 题意: 有n个工厂,从左往右排成一排,分别编号1到n. 每个工厂里有p[i]件产品, ...
- HDU 4034 Graph:反向floyd
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4034 题意: 有一个有向图,n个节点.给出两两节点之间的最短路长度,问你原图至少有多少条边. 如果无解 ...
- BZOJ 2243 [SDOI2011]染色:树剖【维护路径上颜色段】
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2243 题意: 给定一棵有n个节点的无根树和m个操作,操作有2类: 1.将节点a到节点b路径 ...
- sqlserver 实现数据库全文检索
--在执行该脚本程序之前启动sql server的全文搜索服务,即microsoft search服务 use huarui_db --打开数据库 go --检查huarui_db是否支持全文索引,如 ...
- dos命令行中不同磁盘的调转
windows下,dos中不同磁盘的跳转: 直接 盘符+回车: 如跳转到d盘: D:回车即可 : Microsoft Windows [版本 10.0.10586] (c) 2015 Microsof ...
- Android Studio Mac版快捷键
mac上按键符号 ⌥ : option / alt ⇧ : shift ⌃ : control ⌘ : command ⎋ : esc (一)查找/查看相关 搜索任意内容 双击 sft 当前文件查找/ ...
- 带SoapHeader验证的WebServices
一般在项目中,制作的都是基于SOAP协议的webservices,其描述语言是WSDL.但是有时候在项目中,需要保证webservices的安全,需要对其进行进行验证,那么我们就要实现SoapHead ...
- Git教程及问题解析
本文来自http://blog.csdn.net/liuxian13183/ ,引用必须注明出处! Git教程 最近用git比较多,做出教程一份,供大家参考. 1. 安装Git,并配置环 ...
- appium-环境搭建(一)
adb命令 adb的全称为Android Debug Bridge,就是起到调试桥的作用.借助adb工具,我们可以管理设备或者手机模拟器的状态.还可以进行很多手机操作,如安装软件\系统升级\运行she ...
- 使用Chrome采集摄像头并生成视频下载
主要使用2个技术点:WebRtc 的 getUserMedia 和 MediaRecorder 注意点 开始录制调用 start 方法要传入一个采样间隔,这样录制的媒体会按照你设置的值进行分割成一个个 ...