NOIP2000普及组 T1计算器的改良】的更多相关文章

主要考字符串处理,把等式从等号中间断开,左边的区域为left,右边的区域为right. 开四个数组分别用来存储区域left和right中未知数的系数,区域left和right中的常数 先处理区域left,把区域left中含有未知数的数字和常数分别存储进数组,再处理区域right(字符串处理这里省略) 最后把存储区域left和right的未知数系数和常数的数组分别化简(合并同类项),进行平时解方程时候的模拟就好了. 主要看代码理解吧,思路讲的有点抽象了. var l_unk,r_unk,l_num…
[题目描述] NCL是一家专门从事计算器改良与升级的实验室,最近该实验室收到了某公司所委托的一个任务:需要在该公司某型号的计算器上加上解一元一次方程的功能.实验室将这个任务交给了一个刚进入的新手ZL先生.为了很好的完成这个任务,ZL先生首先研究了一些一元一次方程的实例: 4+3x=8 6a-5+1=2-2a -5+12Y=0 ZL先生被主管告之,在计算器上键入的一个一元一次方程中,只包含整数.小写字母 及十.一.=这三个数学符号(当然,符号“一”既可作减号,也可作负号).方程中并没有括号,也没有…
2321. [NOIP普及组T1]方程 时间限制: 1000 ms  空间限制: 262144 KB 题目描述…
题目描述 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字.1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码.ISBN码的首位数字表示书籍的出版语言,例如0代表英语:第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社:第二个分隔符后的五位数字代表该书在该出版社的编号:最后一位为识别码. 识别码的计算方法如下: 首位数字乘以…
我对模拟的理解:http://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.luogu.org/problemnew/show/P2669 这是我\(OI\)生涯中第一场比赛的第一道题目,而且这题在\(2015\)的普及组之前我就做过了(当时教练说\(NOIP\)会从\(NOI\)题库里选原题于是我就狂刷了一通\(emmm\)).只需根据它的题意模拟按阶段发金币,然后特判最后一个阶段是否会全部发完就可以了,水的不能再水. 时间复杂度…
神奇的链接 上面时题目. 其实不得不说,这一题很水,比2015年的第一题水多了. 直接按题目套公式就行了,当然你也可以像我一样化简一下. 直接看代码: #include<cstdio> #include<cstring> #include<algorithm> //有些头文件不要也行 using namespace std; int main(){ //文件输入输出略去,用freopen即可 int a,b,c; scanf("%d%d%d",&am…
[题解] 纯模拟题. 我们都知道十进制数化成m进制数可以用短除法,即除m取余.逆序排列.而m进制数化为十进制数,按权展开求和即可. 但在本题中进制的基数R可能为负数,我们知道a%R的符号与R一致,也就是说在本题中我们用短除法得到的某一位上的值可能为负数,要注意向上一位借1化成正的. #include<cstdio> #include<algorithm> #include<cstring> #define LL long long #define rg register…
没有人用 scanf("%c", &ch) != EOF 吗? scanf 和 EOF 会伤心的. 思路:逐个读入字符,遇到EOF中止,对于每个读入的字符进行判断. 附上考场代码: #include <stdio.h> #define file_in(f) freopen(f".in", "r", stdin) #define file_out(f) freopen(f".out", "w&quo…
求数组有多少个数,恰好等于集合中另外两个(不同的)数之和? 注意到数集比较小,而且涉及到下标的加法,可以很自然地想到卷积 注意减去自己加自己的贡献 真是一道NTT练手好题 #include <iostream> #include <cstdio> #include <cstring> using namespace std; #define Dollar1 998244353 #define MAXN 70001 #define int long long int li…
https://www.luogu.org/problem/P1017 题目描述 我们可以用这样的方式来表示一个十进制数: 将每个阿拉伯数字乘以一个以该数字所处位置的值减1为指数,以10为底数的幂之和的形式.例如:123可表示为 1*102+2*101+3*100这样的形式. 与之相似的,对二进制数来说,也可表示成每个二进制数码乘以一个以该数字所处位置的值-1为指数,以2为底数的幂之和的形式.一般说来,任何一个正整数R或一个负整数-R都可以被选来,作为一个数制系统的基数.如果是以R或-R为基数,…