鱼C论坛

 找回密码
 立即注册
查看: 1063|回复: 3

[已解决]求助各位大神,请问这个报错是怎么回事?

[复制链接]
发表于 2021-10-4 23:37:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
报错信息如下:

这是报错信息

这是报错信息

原题:
https://www.luogu.com.cn/problem/P3392
报错时的代码:
#include <bits/stdc++.h>
using namespace std;
struct rwb{
        int r,w,b,i;
}a[50];
int x,y,i,j,num,n,m;
char c[50][50];
int r[50],w[50],b[50];
bool B=false;

bool cmp(rwb x,rwb y){
        return x.b>y.b;
}

int main(){
        cin>>n>>m;
        for(i=0;i<n;i++){
                for(j=0;j<m;j++){
                        cin>>c[i];
                }
        }
        for(i=0;i<m;i++){
                if(c[0][i]!='W') num++;
                if(c[n-1][i]!='R') num++;
        }
        for(i=1;i<n-1;i++){
                for(j=0;j<m;j++){
                        if(c[i][j]=='R') a[i].r++;
                        if(c[i][j]=='b') a[i].b++;
                        if(c[i][j]=='W') a[i].w++;
                }
                a[i].i=i;
        }
        for(i=1;i<n-1;i++){
                if(B){
                        num=num-max(a[i].b,a[i].r,a[i].w)+a[i].b+a[i].r+a[i].w;
                }
                else{
                        if(a[i].b>=a[i].r&&a[i].b>=a[i].w){
                        B=true;
                        num=num+a[i].r+a[i].w;
                        }
                        else{
                                num=num-max(a[i].r,a[i].w)+a[i].b+a[i].r+a[i].w;
                        }        
                }
        }
        if(B){
                cout<<num;
        }
        else{
                sort(a,a+n,cmp);
                num=num-a[i].b+max(a[i].r,a[i].w);
                cout<<num;
        }

    return 0;
}
求解决办法!!
最佳答案
2021-10-5 09:35:42
本帖最后由 桃花飞舞 于 2021-10-5 09:44 编辑

这个没有题目只有代码,我看不出你要干什么?所以能做的有限。错就在max()函数传了三个参数。你可以这样改
max(max(a[i].b , a[i].r) , a[i].w),
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-10-5 08:00:41 | 显示全部楼层
图片里很明显了  最后一行报错:__comp不能用作函数
不过我没怎么学过c++  无法多说
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 09:35:42 | 显示全部楼层    本楼为最佳答案   
本帖最后由 桃花飞舞 于 2021-10-5 09:44 编辑

这个没有题目只有代码,我看不出你要干什么?所以能做的有限。错就在max()函数传了三个参数。你可以这样改
max(max(a[i].b , a[i].r) , a[i].w),
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-10-5 09:41:18 | 显示全部楼层
实在不行你自己写一个max函数实现需要的功能
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-16 00:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表