(水题)洛谷 - P1022 - 计算器的改良
https://www.luogu.org/problemnew/show/P1022
服了,居然还有+0.000和-0.000的不同,真的服了。
#include<bits/stdc++.h>
using namespace std;
#define ll long long //a1x+b1=a2x+b2
double a1,b1,a2,b2; int main(){
string s;
string s1;
string s2;
while(cin>>s){
int n=s.length(); char c; for(int i=;i<n;i++){
if(s[i]=='='){
s1=s.substr(,i);
s2=s.substr(i+,n);
break;
}
} int n1=s1.length();
int n2=s2.length(); //cout<<s1<<" "<<s2<<endl; double cur=;
double flag=;
for(int i=;i<n1;i++){
if(s1[i]=='-'){
b1+=flag*cur;
flag=-;
cur=;
}
else if(s1[i]=='+'){
b1+=flag*cur;
flag=+;
cur=;
}
else if(isalpha(s1[i])){
c=s1[i];
if(cur==)
cur=;
a1+=flag*cur;
cur=;
}
else{
cur*=;
cur+=(s1[i]-'');
}
} b1+=flag*cur;
flag=;
cur=; //cout<<a1<<" "<<b1<<endl; for(int i=;i<n2;i++){
if(s2[i]=='-'){
b2+=flag*cur;
flag=-;
cur=;
}
else if(s2[i]=='+'){
b2+=flag*cur;
flag=+;
cur=;
}
else if(isalpha(s2[i])){
c=s2[i];
if(cur==)
cur=;
a2+=flag*cur;
flag=+;
cur=;
}
else{
cur*=;
cur+=(s2[i]-'');
}
} b2+=flag*cur;
flag=;
cur=; //cout<<a2<<" "<<b2<<endl; //ax=b
double a=a1-a2;
double b=b2-b1; double ans=b/a;
if(fabs(ans)<1e-)
ans=;
printf("%c=%.3f\n",c,ans);
} }
(水题)洛谷 - P1022 - 计算器的改良的更多相关文章
- 洛谷—— P1022 计算器的改良
P1022 计算器的改良 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了 ...
- 洛谷P1022 计算器的改良
P1022 计算器的改良 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了 ...
- 洛谷 P1022 计算器的改良
题解:字符串模拟 坑点: 1) 0/-1=-0. 这是因为(来自洛谷讨论区某大犇) double下存储的数字会有精度误差,比如0可能被存成0.000000000...01然而如果你乘上或者除以一个负数 ...
- [NOIP2000] 提高组 洛谷P1022 计算器的改良
题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生. ...
- 洛谷——P1022 计算器的改良
https://www.luogu.org/problem/show?pid=1022#sub 题目背景 NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在 ...
- P1022 计算器的改良
P1022 计算器的改良 题目背景 NCL 是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给 ...
- P1010 幂次方 P1022 计算器的改良
P1010 幂次方 一.题目 https://www.luogu.org/problemnew/show/P1010 二.代码 #include<bits/stdc++.h> using ...
- 2021.07.26 P1022 计算器的改良(字符串)
2021.07.26 P1022 计算器的改良(字符串) 改进: 如果是我出题,我一定把未知数设为ab.buh.bluesky之类的长度不只是1的字符串! 题意: 一个一元一次方程,求解. 分析: 1 ...
- 洛谷 P2614 计算器弹琴
P2614 计算器弹琴 题目描述 总所周知,计算器可以拿来干很多它本不应该干的事情,比如写作文.(参看洛谷P2549) 小A发现了一个计算器的另一个隐藏功能——弹琴. http://www.bilib ...
随机推荐
- SQL经常使用语法
一.基础 1.创建数据库 CREATE DATABASE database-name 2.删除数据库 drop database dbname 3.备份sql server --- 创建 备份数据的 ...
- SolidEdge如何快速绘制并完全定义槽型孔
如果你点击A之后形成的圆弧不是你想要的 你试着换个方向,如下图所示 有时候只有一个方形可以形成你要的半圆
- app具体介绍界面-01
在我们的上一篇博客中,我们介绍了首页中的app列表界面怎样完毕.这个ListView以及其Adapter会在我们后面的界面中重用,所以这个是比較重要的,在这一篇博客中,我们先完毕app具体介绍界面的一 ...
- hdu 5358 First One 2015多校联合训练赛#6 枚举
First One Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Tota ...
- Boost下载安装编译配置使用指南(含Windows和Linux) .
理论上,本文适用于boost的各个版本,尤其是最新版本1.39.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先 ...
- Ehcache CacheManager
CacheManager是Ehcache框架的核心类和入口,它负责管理一个或多个Cache对象.要使用Ehcache框架,必须要先创建 CacheManager 对象.现在我们学习下,如何创建 Cac ...
- 谈谈Paxos一致性算法和一致性这个名词
转自:http://www.cnblogs.com/esingchan/p/3917718.html 维基的简介:Paxos算法是莱斯利·兰伯特(Leslie Lamport,就是 LaTeX 中的& ...
- centos 网络连接查看
安装iftop. 这个得先安装epel #yum install epel-replease -y #yum install iftop -y #iftop
- POJ2251 Dungeon Master —— BFS
题目链接:http://poj.org/problem?id=2251 Dungeon Master Time Limit: 1000MS Memory Limit: 65536K Total S ...
- iOS--控制器加载自定义view的xib
我们在项目中,经常需要使用到自定义的view,而xib布局显得更为简洁,那么如何加载一个自定义的xib呢,网上的方法也很多很多,就是因为太多了,我经常会弄混,所以总结其中一个使用,如果以后使用到其他的 ...