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) 首 ...
随机推荐
- 一张图理解is_nll isset empty
isset 判断变量是否已存在,如果变量存在则返回 TRUE,否则返回 FALSE. empty 判断变量是否为空,如果变量是非空 或非零 的值,则 empty() 返回 FALSE.换句话说,&qu ...
- 仿联想商城laravel实战---1、仿联想商城需求和数据库设计(lavarel如何搭建项目)
仿联想商城laravel实战---1.仿联想商城需求和数据库设计(lavarel如何搭建项目) 一.总结 一句话总结: composer引入lavarel.配置域名.配置apache 1.项目名 le ...
- apache 简单笔记
1.端口监听 可以多个 Listen 80Listen 8080 2.多网站 Listen 80Listen 8080 # Virtual hostsInclude conf/extra/httpd- ...
- (转)通过汇编语言实现C协程
转自:http://www.cnblogs.com/sniperHW/archive/2012/06/19/2554574.html 协程的概念就不介绍了,不清楚的同学可以自己google,windo ...
- Mex混合编程专题一:Mex环境搭建
使用Matlab时间长了,难免会碰到使用mex文件的经历,不管是别人的还是自己的,就比如MatConvNet(http://www.vlfeat.org/matconvnet/)使用了混合编程的技术实 ...
- codeforces 710B B. Optimal Point on a Line(数学)
题目链接: B. Optimal Point on a Line 题意: 给出n个点,问找出一个点使得这个点到所有的点的距离和最小; 思路: 所有点排序后的中位数;这是一个结论; AC代码: #inc ...
- 微信菜单加emoji图标
1.https://icomoon.io/app/#/select----------------选择图标后进入 2. 笑脸表情可选择更多图标,左侧e901,是“字体码” 3.将图片复制件自定义菜单编 ...
- 继续学习:C语言关键字
auto :声明自动变量 break:跳出当前循环 case:开关语句分支 char :声明字符型变量或函数 const :声明只读变量 continue:结束当前循环,开始下一轮循环 default ...
- SPOJ705 Distinct Substrings (后缀自动机&后缀数组)
Given a string, we need to find the total number of its distinct substrings. Input T- number of test ...
- Java 处理批量数据提交
在Java web开发过程中,处理表单数据是很重要一部分,常见的是form post处理单条数据的,但也会遇到一次提交多条数据到服务器的,如下: