zoukankan      html  css  js  c++  java
  • CF1375B(思维)

    题意:

    给出一个矩阵,可以对里面的元素做增加操作,询问能否使得每个元素的值恰好等于周围非零元素之和。

    题解:

    很简单的一道题,从上到下遍历整个矩阵,把每个元素的值增加为周围元素之和即可。不知道为什么比赛的时候死活想不到。。。

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn=1010;
    int X[4]={1,0,-1,0};
    int Y[4]={0,1,0,-1};
    int a[maxn][maxn];
    int main () {
        int t;
        cin>>t;
        while (t--) {
            int n,m;
            int f=0;
            cin>>n>>m;
            for (int i=1;i<=n;i++)
                for (int j=1;j<=m;j++)
                    cin>>a[i][j];
            for (int i=1;i<=n;i++) {
                for (int j=1;j<=m;j++) {
                    int tt=0;
                    for (int k=0;k<4;k++) {
                        int tx=i+X[k];
                        int ty=j+Y[k];
                        if (tx<1||tx>n||ty<1||ty>m) continue;
                        tt++;
                    }
                    if (a[i][j]>tt) {
                        printf("NO
    ");
                        f=1;
                        break;
                    }
                    a[i][j]=tt;
                }
                if (f) break;
            }
            if (f) continue;
            printf("YES
    ");
            for (int i=1;i<=n;i++) {
                for (int j=1;j<=m;j++)
                    printf("%d ",a[i][j]);
                printf("
    ");
            }
        }
    } 
  • 相关阅读:
    sizeof与strlen的区别
    面试题46:求1+2+...+n
    opennebula 安装指定参数
    opennebula 开发记录
    virsh 查看hypervisor特性
    opennebula kvm日志
    Cgroup
    opennebula kvm 创建VM oned报错日志
    opennebula kvm 创建虚拟机错误
    golang hello
  • 原文地址:https://www.cnblogs.com/zhanglichen/p/13249793.html
Copyright © 2011-2022 走看看