阅读背景:

[NowCoder]牛客网NOIP赛前集训营-提高组(第七场)

来源:互联网 

链接

A.中国式家长2

模拟题,毫无坑点

#include<bits/stdc++.h>
#define REP(i,a,b) for(int i(a);i<=(b);++i)
#define dbg(...) fprintf(stderr,__VA_ARGS__)
using namespace std;
typedef long long ll;
typedef unsigned int uint;
typedef unsigned long long ull;
typedef pair<int,int>pii;
inline int read(){char c,p=0;int w;
    while(isspace(c=getchar()));if(c=='-')p=1,c=getchar();
    for(w=c&15;isdigit(c=getchar());w=w*10+(c&15));return p?-w:w;
}
template<typename T,typename U>inline char smin(T&x,const U&y){return x>y?x=y,1:0;}
template<typename T,typename U>inline char smax(T&x,const U&y){return x<y?x=y,1:0;}
const int N=202,dx[]={-1,-1,-1,0,1,1,1,0},dy[]={-1,0,1,1,1,0,-1,-1};
int n,m,k,now,nowc,a[N][N];
bool vis[N][N],exi[N][N];
int main(){
    n=read(),m=read(),k=read();
    REP(i,1,n)REP(j,1,m)a[i][j]=read();
    REP(i,1,n)REP(j,1,m)exi[i][j]=read();
    int T=read();now=k;
    while(T--){
        int x=read(),y=read();
        if(exi[x][y]&&!vis[x][y]&&x>0&&y>0&&x<=n&&y<=m){
            if(a[x][y]>0)now=min(k,now+a[x][y]);
            else if(now<10)return puts("-1 -1"),0;
            else nowc+=10,now-=10;
            vis[x][y]=1;
            REP(i,0,7){
                int tx=dx[i]+x,ty=dy[i]+y;
                if(tx<1||tx>n||ty<1||ty>m)continue;
                exi[tx][ty]=1;
            }
        }else return puts("-1 -1"),0;
    }
    printf("%d %d\n",now,nowc);
    return 0;
}#include<bits/stdc++



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: