社区讨论

洛谷编译器有BUG!!!

P1086[NOIP 2004 普及组] 花生采摘参与者 3已保存回复 4

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
4 条
当前快照
1 份
快照标识符
@mi4f3q48
此快照首次捕获于
2025/11/18 18:15
3 个月前
此快照最后确认于
2025/12/29 13:52
2 个月前
查看原帖
我的程序:[codec]#include
CPP
#include<algorithm>
using namespace std;
struct xx{
    int d,x,y;
    bool operator <(struct xx y){return d<y.d;}
    int tr(){return x;}
    int jl(xx yy){return abs(x-yy.x)+abs(y-yy.y);}
    int jl2(xx yy){return min(jl(yy),x+yy.tr());}
    void fz(int a=0,int b=0,int c=0){d=a;x=b;y=c;}
};
xx x[900];
int pick(int n){
    int s=x[1].tr()+x[n].tr()+n;
    for(int i=1;i<n;i++)s+=x[i].jl(x[i+1]);
    return s; 
}
int main(){
    int m,n,i,j,k,s=0,a;
    cin>>m>>n>>k;
    for(i=1;i<=m;i++)for(j=1;j<=n;j++){
        cin>>a;if(a)s++,x[s].fz(-a,i,j);
    }
    sort(x+1,x+s+1);
    //for(int i=1;i<=s;i++)cout<<pick(i)<<' ';
    j=0;
    for(i=1;i<=s;i++)if(k>=pick(i))j=i;
    s=0;
    for(i=1;i<=j;i++)s-=x[i].d;
    cout<<s;
    return 0;
}[/codec]
在我自己的电脑里可以运行(附图) 可是在洛谷编译器却编译错误!!!
[codec]
编译失败
CPP
foo.cpp:32:2: warning: no newline at end of file
 D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h: In function `const _Tp& std::__median(const _Tp&, const _Tp&, const _Tp&) [with _Tp = xx]':
 D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:2484: instantiated from `void std::__introsort_loop(_RandomAccessIterator, _RandomAccessIterator, _Size) [with _RandomAccessIterator = xx*, _Size = int]'
 D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:2555: instantiated from `void std::sort(_RandomAccessIterator, _RandomAccessIterator) [with _RandomAccessIterator = xx*]'
foo.cpp:24: instantiated from here D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:90: error: passing const xx' as this' argument of `bool xx::operator<(xx)' discards qualifiers
D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:91: error: passing const xx' as this' argument of `bool xx::operator<(xx)' discards qualifiers
D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:93: error: passing const xx' as this' argument of `bool xx::operator<(xx)' discards qualifiers
D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:97: error: passing const xx' as this' argument of `bool xx::operator<(xx)' discards qualifiers
D:/luogudata/compilers/bin/../lib/gcc/mingw32/3.4.2/../../../../include/c++/3.4.2/bits/stl_algo.h:99: error: passing const xx' as this' argument of `bool xx::operator<(xx)' discards qualifiers
[/codec]
网址 http://www.luogu.org/record/show?rid=531030

回复

4 条回复,欢迎继续交流。

正在加载回复...