C++0分求助!!!

P3955 [NOIP2017 普及组] 图书管理员

你这个ans自定义以来都是零没变过啊
by 20090416lrs @ 2023-01-25 17:02:45


而且你这样双层循环怎么看都是超时的样子
by 20090416lrs @ 2023-01-25 17:06:33


改了,还是错的 ```c #include<bits/stdc++.h> using namespace std; int a[1001],b[1001],c[1001],d[1001]; int main() { int n,q; cin>>n>>q; for(int i=1; i<=q; i++) cin>>a[i]; for(int i=1; i<=q; i++) cin>>b[i]>>c[i]; for(int i=1; i<=n; i++) { for(int j=1; j<=q; j++) { int ans=0,t1=c[i]%10,t2=a[i]; bool flag=false; while(t2>0) { ans++; t2=t2/10; } while(t1!=0) { t1=t1%10; if(t1==c[i]) { flag=true; break; } } if(b[i]==ans && flag==true) d[i]=a[i]; else d[i]=-1; } } for(int i=1; i<=q; i++) cout<<d[i]; return 0; } ``` ~~不知道为啥我给删了~~
by baojiaming01 @ 2023-01-25 17:08:25


@[20090416lrs](/user/684921) 那咋办???是要把一个循环给删掉吗???
by baojiaming01 @ 2023-01-25 17:10:13


我个人认为第二个循环边输入边查找再输出可能比较好.(省一个循环,你试试吧)
by 20090416lrs @ 2023-01-25 17:13:27


额......好像还是超时了......
by baojiaming01 @ 2023-01-25 17:20:29


超了一点还是很多?要不别暴搜,用二分试试
by 20090416lrs @ 2023-01-26 08:32:19


先排序就不会超时了
by 20090416lrs @ 2023-01-26 15:04:52


|