传送门

题目描述

有些时候需要解决这样一类问题:判断一个数 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] 区间内。

输入输出样例

输入样例#1:
复制

-3 3 4
0
00
-0
100000000000000000000
输出样例#1: 复制

0
1
1
2

说明

对于 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祭的更多相关文章

  1. 5239-回忆京都-洛谷3月赛gg祭

    传送门 题目背景 第十五届东方人气投票 音乐部门 106名 第四次国内不知道东方的人对东方原曲的投票调查 51名 回忆京都副歌我tm吹爆,东方文花帖我tm吹爆! 题目描述 射命丸文在取材中发现了一个好 ...

  2. P5238 整数校验器

    题目地址:P5238 整数校验器 显然这道题不算难,细心即可AC 细节见代码中的注释 #include <bits/stdc++.h> #define ll long long using ...

  3. 洛谷 P5238 整数校验器

    题目描述 有些时候需要解决这样一类问题:判断一个数 x 是否合法. x 合法当且仅当其满足如下条件: x 格式合法,一个格式合法的整数要么是 0,要么由一个可加可不加的负号,一个 1 到 9 之间的数 ...

  4. 洛谷五月月赛【LGR-047】划水记

    虽然月赛有些爆炸,但我永远资瓷洛谷! 因为去接水,所以迟到了十几分钟,然后洛谷首页就打不开了-- 通过洛谷题库间接打开了比赛,看了看\(TA\),WTF?博弈论?再仔细读了读题,嗯,判断奇偶性,不过要 ...

  5. 洛谷八月月赛Round1凄惨记

    个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...

  6. 洛谷P5238 整数校验器

    看到没有边读入边处理的,我来水一发 我们要看一下有那些情况是格式不合法的 单独的负号 -0(后面可以有其他数字) 0 +(后面一些数字) 我们用快速读入的方法 读取字符进行处理 还有可能超出范围的 考 ...

  7. AC日记——软件包管理器 洛谷 P2416

    题目描述 Linux用户和OSX用户一定对软件包管理器不会陌生.通过软件包管理器,你可以通过一行命令安装某一个软件包,然后软件包管理器会帮助你从软件源下载软件包,同时自动解决所有的依赖(即下载安装这个 ...

  8. 洛谷⑨月月赛Round2 P3393逃离僵尸岛[最短路]

    题目描述 小a住的国家被僵尸侵略了!小a打算逃离到该国唯一的国际空港逃出这个国家. 该国有N个城市,城市之间有道路相连.一共有M条双向道路.保证没有自环和重边. K个城市已经被僵尸控制了,如果贸然闯入 ...

  9. 洛谷⑨月月赛Round2 P3392涂国旗[DP]

    题目描述 某国法律规定,只要一个由N*M个小方块组成的旗帜符合如下规则,就是合法的国旗.(毛熊:阿嚏——) 从最上方若干行(>=1)的格子全部是白色的. 接下来若干行(>=1)的格子全部是 ...

随机推荐

  1. jQuery与vue分别实现超级简单的绿色拖动验证码功能

    jquery的绿色拖动验证功能 在网上看到了一个这样的问题:那种像拖动滑块匹配图形的验证方式是怎么实现的?. 突然想到实现一个简单绿色拖动验证码的功能,在网上搜了下,有一个用jquery实现的该功能代 ...

  2. git常用命令总结以及用github来展示你的前端页面

    命令小结 命令  功能 git init 把当前文件夹初始化为默认的git库 git add 文件名 向git库中添加一个文件 git rm 文件名 从git库中删除一个文件 git status 查 ...

  3. 洛谷P4590 [TJOI2018]游园会(状压dp LCS)

    题意 题目链接 Sol 这个题可能是TJOI2018唯一的非模板题了吧.. 考虑LCS的转移方程, \[f[i][j] = max(f[i - 1][j], f[i][j - 1], f[i - 1] ...

  4. centos 安装mysql Package: akonadi-mysql-1.9.2-4.el7.x86_64 (@anaconda)

    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm rpm -ivh mysql-community-release ...

  5. Ios12怎么投屏到电脑 苹果手机投屏电脑的方法

    苹果手机是一款外观精致时尚的手机,吸引这许多用户争先恐后的购买,然后苹果手机的系统不同于我们传统使用的安卓系统,它采用的是苹果自主研发的IOS系统,有许多操作与安卓手机不同,那么苹果手机怎么用呢?下面 ...

  6. Python对象相关内置函数

    针对一个对象,通过以下几个函数,可以获取到该对象的一些信息. 1.type() ,返回某个值的类型 >>> type() <class 'int'> >>&g ...

  7. uni-app 子组件如何调用父组件的方法

    1.在父组件methods中定义一个方法: changeType:function(type){ this.typeActive = type; alert(type); } 2.在父组件引用子组件时 ...

  8. 【Spring源码解读】bean标签中的属性(一)你可能还不够了解的 scope 属性

    scope 属性说明 在spring中,在xml中定义bean时,scope属性是用来声明bean的作用域的.对于这个属性,你也许已经很熟悉了,singleton和prototype信手捏来,甚至还能 ...

  9. 对display主要属性的探究,以及vertical-aligin

    display 首先要简单说明一下display的主要3个主要属性,分别为block,inline-block,inline,这里只提及主要,关于其他的inherit,none等可以自行了解 inli ...

  10. ORA-1652: unable to extend temp segment by 128 in tablespace xxx Troubleshootin

    当收到告警信息ORA-01652: unable to extend temp segment by 128 in tablespace xxxx 时,如何Troubleshooting ORA-16 ...