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)的格子全部是 ...
随机推荐
- CSS3 Transform、Transition和Animation属性总结
CSS3的三个与变形和动画啊相关的属性: Transform 浏览器支持情况: Internet Explorer 10.Firefox.Opera 支持 transform 属性. Internet ...
- SQL分组函数
分组函数是对表中的多行进行操作,而每组返回一个计算结果.常用的分组函数包括: 函数 语法格式 函数描述以及注意事项 AVG AVG([distinct|all] expr) 返回一个数字列或计算列的平 ...
- Neutron中插件与代理的总结
1.总结:
- Android SharedPreferences增,删,查操作
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedP ...
- SpringBoot集成Swagger接口管理工具
手写Api文档的几个痛点: 文档需要更新的时候,需要再次发送一份给前端,也就是文档更新交流不及时. 接口返回结果不明确 不能直接在线测试接口,通常需要使用工具,比如postman 接口文档太多,不好管 ...
- ERP结账不自动清台的解决办法
1. 2. 完成以上设置即可
- 服务器CPU繁忙或内存压力引起网络掉包的浅析与总结
最近一段时间遇到了两起有意思的故障,现象都是网络掉包或网络断开,不过这些只是表面现象,引起现象出现的本质才是我们需要关注的重点: 案例1: 平台 :VMware平台 操作系统 :Windows ...
- Foreach用法
循环语句是编程的基本语句,在C#中除了沿用C语言的循环语句外,还提供了foreach语句来实现循环.那么我要说的就是,在循环操作中尽量使用foreach语句来实现. 为了来更好地说明为什么要提倡使 ...
- python函数的用法
python函数的用法 目录: 1.定义.使用函数 1.函数定义:def 2.函数调用:例:myprint() 3.函数可以当作一个值赋值给一个变量 例:a=myprint() a() 4.写r ...
- 利用fpm制作rpm包
使用fpm制作rpm包 安装如下 [root@web01 ~]# yum install -y gcc zlib zlib-devel wget http://ruby.taobao.org/mirr ...