NBUT OJ 1641 错误的算法 暴力题

                 说是说暴力题可确实卡了我好久。。。。没有看到题目的第一句话"如果答案不唯一,输出任意解即可”,也就是意味着正确答案是会有多个的。。。但是我以为正确答案也会只有一个。。。。所以一开始判定方法是判断错误算法的行和列是不是和正确的一样,后来改成了判断值是不是一样就A了,,,,,诶。。。果然还是经验不够。。5000ms,完全可以跑暴力。。



#include<cstdio>
#include<cstring>

using namespace std;

int r,c,arr[505][505],row[505],col[505],maxr,rw,maxc,cw,maxm,rr,cr,times=1;

int main(){
    while(scanf("%d%d",&r,&c)!=EOF){
        for(int i=1;i<=r;++i)
        for(int j=1;j<=c;++j)
            scanf("%d",&arr[i][j]),row[i]+=arr[i][j],col[j]+=arr[i][j];

        for(int i=1;i<=r;++i)
        if(row[i]>maxr)
            maxr=row[i],rw=i;

        for(int i=1;i<=c;++i)
        if(col[i]>maxc)
            maxc=col[i],cw=i;

        for(int i=1;i<=r;++i)
        for(int j=1;j<=c;++j)
        if(row[i]+col[j]-arr[i][j]>maxm)
            maxm=row[i]+col[j]-arr[i][j],rr=i,cr=j;

        printf("Case %d: %s\n",times++,((row[rw]+col[cw]-arr[rw][cw]==maxm)?"Weak":"Strong"));
        maxr=maxc=maxm=0;
        memset(row,0,sizeof(int)*(r+1));
        memset(col,0,sizeof(int)*(c+1));
    }
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值