博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2017.6.4 入门组 NO.4——猜数
阅读量:5330 次
发布时间:2019-06-14

本文共 1038 字,大约阅读时间需要 3 分钟。

这里写图片描述

这里写图片描述


这题就是求一个区间[l..r],那开始将l=-10000 r=10000

每次输入一次判断,如果为”N”,那么就将符号反转,如 >→<= <→>= >=→< <=→>
那么符号处理好后,
①如果为”>”或”>=”,那么如果当x大于l且小于或等于r,则l=x
如果当x大于r,则输出”Impossible”
②如果为”<”或”<=”,那么如果当x大于或等于l且小于r,则r=x
如果当x小于l,则输出”Impossible”
(Tips:每当枚举”>”或”<”,x+1)
有此公式,妈妈再也不用担心我不能AC了


代码如下:

var s:string;    l,r,n,i:longint;procedure doit;var  l2,l1,fw:longint;     fh,s1:string;begin  l2:=pos(' ',s); fh:=copy(s,1,l2-1); s[l2]:=',';  l1:=pos(' ',s);  s1:=copy(s,l2+1,l1-l2-1);  val(s1,fw);  s[l1]:=',';  if s[l1+1]='N' then    if fh='>' then fh:='<='    else if fh='<' then fh:='>='         else if fh='>=' then fh:='<'              else if fh='<=' then fh:='>';  if (fh='>')or(fh='>=') then      begin        if fh='>' then fw:=fw+1;        if (fw>l)and(fw<=r) then l:=fw        else if fw>r then begin writeln('Impossible'); close(input); close(output); halt; end;      end;  if (fh='<')or(fh='<=') then      begin        if fh='<' then fw:=fw-1;        if (fw
=l) then r:=fw else if (fw

转载于:https://www.cnblogs.com/Comfortable/p/8412283.html

你可能感兴趣的文章
python全栈 计算机硬件管理 —— 硬件
查看>>
大数据学习
查看>>
简单工厂模式
查看>>
Delphi7编译的程序自动中Win32.Induc.a病毒的解决办法
查看>>
Objective-C 【关于导入类(@class 和 #import的区别)】
查看>>
倍福TwinCAT(贝福Beckhoff)常见问题(FAQ)-点击运行按钮进入到运行状态报错Error starting TwinCAT System怎么办 AdsWarning1823怎么办...
查看>>
【转】javascript 中的很多有用的东西
查看>>
Android 监听返回键、HOME键
查看>>
Android ContentProvider的实现
查看>>
sqlserver 各种判断是否存在(表名、函数、存储过程等)
查看>>
给C#学习者的建议 - CLR Via C# 读后感
查看>>
Recover Binary Search Tree
查看>>
Java 实践:生产者与消费者
查看>>
[转]IOCP--Socket IO模型终结篇
查看>>
各种正则验证
查看>>
观察者模式(Observer)
查看>>
python中numpy.r_和numpy.c_
查看>>
egret3D与2D混合开发,画布尺寸不一致的问题
查看>>
freebsd 实现 tab 命令 补全 命令 提示
查看>>
struts1和struts2的区别
查看>>