社区讨论
数据有误
P3955[NOIP 2017 普及组] 图书管理员参与者 12已保存回复 27
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 27 条
- 当前快照
- 1 份
- 快照标识符
- @mi6mgrez
- 此快照首次捕获于
- 2025/11/20 07:17 4 个月前
- 此快照最后确认于
- 2025/11/20 07:30 4 个月前
没错,还是我,第一题发数据有误的……
题面中说:
#这个需求码也是一个正整数
##应该没有前导0
然而,第三个数据就有前导0
按理论来讲(可能代码有错,但思路没错)
CPP```cpp
#include<bits/stdc++.h>
using namespace std;
const int maxn=1000+10;
int n,q;
int b[maxn];
int pow10(int x){
int a=1;
for(int i=1;i<=x;i++)
a*=10;
return a;
}
int pd(int len,int nu){
int i,j;
for(i=1;i<=n;i++){
if(b[i]<nu)
continue;
bool flag=1;
for(j=0;j<len;j++){
if((b[i]/pow10(j))%10!=(nu/pow10(j)%10)){
flag=0;
break;
}
}
if(flag)
return b[i];
}
return -1;
}
int main(){
int i,len,a;
scanf("%d%d",&n,&q);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
sort(b+1,b+n+1);
for(i=1;i<=q;i++){
scanf("%d %s",&len,&a);
printf("%d\n",pd(len,a));
}
return 0;
}
```
是对的
然而这只有20分
#个人见解,如果说错了,那就十分对不起,也感谢各位大佬能光顾蒟蒻的讨论与代码
回复
共 27 条回复,欢迎继续交流。
正在加载回复...