|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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:44 编辑
这个没有题目只有代码,我看不出你要干什么?所以能做的有限。错就在max()函数传了三个参数。你可以这样改 - max(max(a[i].b , a[i].r) , a[i].w),
复制代码
|
|