10pts,求助
查看原帖
10pts,求助
267413
嫐嬲巭孬楼主2020/9/10 20:06
#include<bits/stdc++.h>
#define of(i,m,n)	for(ll i=m;i>=n;i--)
#define fo(i,m,n)	for(ll i=m;i<=n;i++)
typedef long long ll;
const int N=100030,M=100030;
using namespace std;
inline ll read(){
   ll s=0,w=1;
   char ch=getchar();
   while(ch<'0'||ch>'9'){if(ch=='-')w=-1;ch=getchar();}
   while(ch>='0'&&ch<='9') s=s*10+ch-'0',ch=getchar();
   return s*w;
}
ll n,l,r;
int chec(ll a){
	if(l<=a&&a<=r)return 0;
	return 2;
}
int main(){
	l=read(),r=read(),n=read();
	while(n--){
		ll w=1;
		string ss,s;cin>>ss;
		
		if(ss[0]=='-'){s.resize(ss.size()-1);w=-1;fo(i,1,ss.size()-1)s[i-1]=ss[i];}
		else {s.resize(ss.size());fo(i,0,ss.size()-1)s[i]=ss[i];}
		int aaa=s.find_first_not_of('0',0);
		if((aaa==-1)){
			if(s.size()!=1||w==-1){cout<<1<<endl;continue;}
			else {cout<<chec(0)<<endl;continue;}
		}
		if(aaa!=0){
			cout<<1<<endl;continue;
		}
		ll ans=0;
		fo(i,0,s.size()-1)ans*=10,ans+=s[i]-'0';
		cout<<chec(ans)<<endl;
	}
	return 0;
}

评测记录

2020/9/10 20:06
加载中...