[Login|Register]
New post

Show post

Search forum

Read post
为什么一直是RE,求解?? [ Topic ] 2011-09-04 15:44:36 nuptxxp
#include <iostream>

#include <cstdio>

#include <cstdlib>

#include <cstring>

#define LIM 210

using namespace std;

#define max(a,b) ((a)>(b)?(a):(b))

int b[LIM];

int g[LIM];

struct node{
    int f,t;
};

node a[LIM];

bool mark[2][LIM];

int main()
{
    int T;
    scanf("%d",&T);
    while(T--){
        memset(mark,0,sizeof(mark));
        int n,m;
        long long ans=0;
        scanf("%d%d",&n,&m);
        for(int i=0;i<n;++i){
            scanf("%d",b+i);
        }
        for(int j=0;j<m;++j){
            scanf("%d",g+j);
        }
        int k=0;
        for(int i=0,x;i<n;++i){
            for(int j=0;j<m;++j){
                scanf("%d",&x);
                if(x){
                    mark[0][i]=mark[1][j]=true;
                    a[k].f=i;a[k].t=j;
                    k++;
                }
            }
        }
        for(int i=0;i<n;++i){
           if(!mark[0][i]){
               ans+=b[i];
           }
        }
        for(int i=0;i<m;++i){
            if(!mark[1][i]){
                ans+=g[i];
            }
        }
        for(int i=0;i<k;++i){
            ans+=max(b[a[i].f],g[a[i].t]);
        }
        printf("%lld\n",ans);
    }



    return 0;
}
而且我看到AC代码都有1000多KB(n,m<200)
求解?
Reply
Title
Message
(64K)
University of Science and Technology of China
Online Judge for ACM/ICPC
Processed in 2.3ms with 2 query(s).