社区讨论
如何评价/lb
灌水区参与者 4已保存回复 5
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 5 条
- 当前快照
- 1 份
- 快照标识符
- @lrsxo4f0
- 此快照首次捕获于
- 2024/01/25 16:09 2 年前
- 此快照最后确认于
- 2024/01/25 19:02 2 年前
rt
CPP#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
int l,r,ans=0;
int a[maxn];
struct node{
int dgt1,dgt2,dgt3;
int dgt4,dgt5,dgt6;
}d[maxn];
int sep(int num,int ot_dgt){
int dgt_num,j,ot;
for(int i=1;i<=6;i++){
j=pow(10,i);
if(num%j==num){
dgt_num=i-1;
}
}
if(ot_dgt==dgt_num){
ot=num/pow(10,ot_dgt);
}else if(ot_dgt==1){
ot=num%10;
}else{
ot=(num-num/(pow(10,ot_dgt)))/pow(10,ot_dgt-1);
}
return ot;
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);cout.tie(0);
cin>>l>>r;
for(int i=l;i<=r;i++) cin>>a[i];
for(int i=l;i<=r;i++){
if(i<10){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
}else if(10<=i&&i<=99){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
d[i].dgt2=sep(i,2);
if(d[i].dgt2==2) ans++;
}else if(100<=i&&i<=999){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
d[i].dgt2=sep(i,2);
if(d[i].dgt2==2) ans++;
d[i].dgt3=sep(i,3);
if(d[i].dgt3==2) ans++;
}else if(1000<=i&&i<=9999){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
d[i].dgt2=sep(i,2);
if(d[i].dgt2==2) ans++;
d[i].dgt3=sep(i,3);
if(d[i].dgt3==2) ans++;
d[i].dgt4=sep(i,4);
if(d[i].dgt4==2) ans++;
}else if(10000<=i&&i<=99999){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
d[i].dgt2=sep(i,2);
if(d[i].dgt2==2) ans++;
d[i].dgt3=sep(i,3);
if(d[i].dgt3==2) ans++;
d[i].dgt4=sep(i,4);
if(d[i].dgt4==2) ans++;
d[i].dgt5=sep(i,5);
if(d[i].dgt5==2) ans++;
}else if(100000<=i&&i<=999999){
d[i].dgt1=sep(i,1);
if(d[i].dgt1==2) ans++;
d[i].dgt2=sep(i,2);
if(d[i].dgt2==2) ans++;
d[i].dgt3=sep(i,3);
if(d[i].dgt3==2) ans++;
d[i].dgt4=sep(i,4);
if(d[i].dgt4==2) ans++;
d[i].dgt5=sep(i,5);
if(d[i].dgt5==2) ans++;
d[i].dgt6=sep(i,6);
if(d[i].dgt6==2) ans++;
}
}
cout<<ans;
return 0;
}
回复
共 5 条回复,欢迎继续交流。
正在加载回复...