5238-整数校验器-洛谷3月赛gg祭
题目描述
有些时候需要解决这样一类问题:判断一个数 x是否合法。
x合法当且仅当其满足如下条件:
- x格式合法,一个格式合法的整数要么是 0,要么由一个可加可不加的负号,一个 1到 9 之间的数字,和若干个 0 到 9 之间的数字依次连接而成。
- x在区间 [l,r] 范围内(即 l≤x≤r)。
你需要实现这样一个校验器,对于给定的 l,r,多次判断 x是否合法。
输入输出格式
输入格式:
第一行三个整数 l,r,T,表示校验器的校验区间为 [l,r]以及需要校验的 x 的个数。
接下来 T行,每行一个 x,表示要校验的数,保证 x长度至少为 1且仅由 '0'~'9' 及 '-' 构成,且 '-' 只会出现在第一个字符。
输出格式:
输出共 T 行,每行一个整数,表示每个 xx 的校验结果。
校验结果规定如下:0表示 x 合法;1 表示 x 格式不合法;2 表示 x 格式合法且不在 [l,r] 区间内。
输入输出样例
说明
对于 100% 的数据,0≤T≤512,l,r 在 64 位有符号整型范围内
保证输入文件大小不超过 128KB。数据在 linux 下生成,没有 '\r' 字符。
以下为部分特殊限制(互不包含):
- 有 5%的数据,T=0。
- 有 25%的数据,保证 x 格式一定合法。
- 有 30% 的数据,保证如果 x 格式合法,那么 x 一定在 64 位有符号整形范围内。
---------------------------------------------------------------------------------------------------------------------------------------------------
这是一道很简单很简单很简单的模拟
只是要注意到的点有很多
(我真的真的都注意到了)
但是由于dr太弱太弱了
(尤其是代码能力和debug精神)
于是dr就写乱了
啊啊啊啊啊啊
5分gg
(dr第一次参加乐多赛,不懂规则,提交多了,还扣了几分,就更可怜了)
注意注意注意啦!!!!!!
码风要好!!!!
不能太慌张!!!
多读题!!!!!
先理好思路在写!
多刷题!!!!!
-----------------------------------------------------------------------------------------------------------------
#include<bits/stdc++.h>
using namespace std; typedef long long ll;
ll l,r;
int t; inline int read()
{
int sum = ,p = ;
char ch = getchar();
while(ch < '' || ch > '')
{
if(ch == '-')
p = -;
ch = getchar();
}
while(ch >= '' && ch <= '')
{
sum = sum * + ch - '';
ch = getchar();
}
return p * sum;
} int main()
{
scanf("%lld%lld",&l,&r);
t = read();
while(t--)
{
char qwq[];
cin>>(qwq + );
int len = strlen(qwq+);
if(qwq[] == '-')
{
if(qwq[] == '' ||len == )
{
printf("1\n");
continue;
}
}
if(qwq[] == '' && len != )
{
printf("1\n");
continue;
}
if(qwq[] == '-' && len > )
{
printf("2\n");
continue;
}
if(qwq[] != '-' && len > )
{
printf("2\n");
continue;
} unsigned long long ans = ;
ll cnt = ;
if(qwq[] == '-')
{
sscanf(qwq+,"%llu",&ans);//从字符串的第二位开始读,把后面的所有数字转换为一个unsigned long long类型变量tmp后再进行处理。
if(ans > (1LL<<))
{ printf("2\n");
continue;
}
cnt=-ans;
}
else
{
sscanf(qwq+,"%llu",&ans);
if (ans>=(1LL<<))
{
printf("2\n");
continue;
}
cnt=ans;
}
puts(cnt>=l && cnt<=r?"":""); }
return ;
}
用一下sstream
里面的sscanf
可以帮助简化代码
5238-整数校验器-洛谷3月赛gg祭的更多相关文章
- 5239-回忆京都-洛谷3月赛gg祭
传送门 题目背景 第十五届东方人气投票 音乐部门 106名 第四次国内不知道东方的人对东方原曲的投票调查 51名 回忆京都副歌我tm吹爆,东方文花帖我tm吹爆! 题目描述 射命丸文在取材中发现了一个好 ...
- P5238 整数校验器
题目地址:P5238 整数校验器 显然这道题不算难,细心即可AC 细节见代码中的注释 #include <bits/stdc++.h> #define ll long long using ...
- 洛谷 P5238 整数校验器
题目描述 有些时候需要解决这样一类问题:判断一个数 x 是否合法. x 合法当且仅当其满足如下条件: x 格式合法,一个格式合法的整数要么是 0,要么由一个可加可不加的负号,一个 1 到 9 之间的数 ...
- 洛谷五月月赛【LGR-047】划水记
虽然月赛有些爆炸,但我永远资瓷洛谷! 因为去接水,所以迟到了十几分钟,然后洛谷首页就打不开了-- 通过洛谷题库间接打开了比赛,看了看\(TA\),WTF?博弈论?再仔细读了读题,嗯,判断奇偶性,不过要 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
- 洛谷P5238 整数校验器
看到没有边读入边处理的,我来水一发 我们要看一下有那些情况是格式不合法的 单独的负号 -0(后面可以有其他数字) 0 +(后面一些数字) 我们用快速读入的方法 读取字符进行处理 还有可能超出范围的 考 ...
- AC日记——软件包管理器 洛谷 P2416
题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...
- 洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]
题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...
- 洛谷⑨月月赛Round2 P3392涂国旗[DP]
题目描述 某国法律规定,只要一个由N*M个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏——) 从最上方若干行(>=1)的格子全部是白色的. 接下来若干行(>=1)的格子全部是 ...
随机推荐
- Java Filter防止sql注入攻击
原理,过滤所有请求中含有非法的字符,例如:, & < select delete 等关键字,黑客可以利用这些字符进行注入攻击,原理是后台实现使用拼接字符串,案例:某个网站的登入验证的SQ ...
- Android项目实战(四十八):架构之组件化开发
什么要组件化开发? 看一下普通项目的结构 , 一个项目下有多个Module(左侧图黑体目录),但是只有一个application,0个或多个library(在每个medel下的build.gradle ...
- Android 底部导航栏实现一 Fragment-replace
[效果](这里下载的软件收费的试用有水印) [推荐]这里推荐一个图标网http://iconfont.cn/.以上图标来自此图标网 [项目结构] [步骤] ①创建布局文件,写底部导航栏 <?xm ...
- WPF:Metro样式ProgressBar(圆点横向移动),自适应宽度
先看效果图: 最直观的,这是4个圆点在移动,就用一个横向的StackPanel表示这四个点吧. <StackPanel Orientation="Horizontal"> ...
- verilog实现两个数的最大公因数
module gcd(clk,clr,go_i,x_i,y_i,d_o); input clk,clr; input go_i; :] x_i,y_i; :] d_o; :] x,y,r; alway ...
- (后端)sql手工注入语句&SQL手工注入大全(转)
转自脚本之家: 看看下面的1.判断是否有注入;and 1=1;and 1=2 2.初步判断是否是mssql;and user>0 3.判断数据库系统;and (select count(*) f ...
- 初学ubuntu命令
将我第一天学的内容做个笔记 ,方便日后查看 命令的使用: ls ls -a 显示所有文件 ls -l 显示文件的所有信息 cp 注意命令格式 /home/../temp/a /ho ...
- MYSQL主从同步/主主同步
一.MYSQL主从同步 注意:进行主从同步操作时需要确保DB无写操作 flush tables with read lock: //全局读锁定,执行了命令之后所有库所有表都被锁定只读. 1.在主机 ...
- python 中文报错
解决的办法为:在程序的开头写入如下代码,这就是中文注释 #coding=utf-8
- fedora 28/29 配置 C++ 环境
最近 使用C++ 开发 更换机器的时候,还要重新配置一下 gnu 工具链.于是简单进行了安装了一下: yum install gcc yum install gcc-c++ yum install g ...