不会dp退役菜鸡 @ 2018-01-26 17:31:28
#include<bits/stdc++.h>
using namespace std;
int main()
{
int i,n,q;
int bm[1000],xq[1000],xqc[1000];
bool judge=false;
cin>>n>>q;
for(i=0;i<n;i++)
cin>>bm[i];
sort(bm,bm+i);
for(int i=0;i<q;i++)
cin>>xqc[i]>>xq[i];
for(i=0;i<q;i++)
{
for(int j=0;j<n;j++)
{
if(bm[j]%pow(10,xqc[i])==xq[i]) {cout<<bm[j]<<endl,judge=true;break;}
}
if(judge==false) cout<<"-1"<<endl;
}
return 0;
}
求纠错。。。 报告说[Error] invalid operands of types 'int' and '__gnu_cxx::__promote_2<int, int, double, double>::__type {aka double}' to binary 'operator%'
by B_1168 @ 2018-01-26 17:38:17
可能是变量名和__gun_cxx的什么变量重了吧……本人蒟蒻,意见仅供参考
by panda_2134 @ 2018-01-26 17:44:53
int % double是非法的,但是pow返回double
C++的编译错误日志总是想着搞个大新闻,你看到a.k.a double了吗
by panda_2134 @ 2018-01-26 17:45:23
翻译一下就是
[Error] invalid operands of types 'int' and 'double' to binary 'operator%'
by 不会dp退役菜鸡 @ 2018-01-26 17:48:23
@panda_2134 谢谢,那怎么弄呢,double开不了【1000】的数组
by B_1168 @ 2018-01-26 17:52:40
貌似可以改为int(pow(10,xqc[i]))
蒟蒻拙见,仅供参考
by 不会dp退役菜鸡 @ 2018-01-26 17:57:39
@stewart 谢谢,能用了