• 牛客国庆集训派对Day6 B-Board


    链接:https://www.nowcoder.com/acm/contest/206/B
    来源:牛客网
     

    时间限制:C/C++ 1秒,其他语言2秒
    空间限制:C/C++ 1048576K,其他语言2097152K
    64bit IO Format: %lld

    题目描述

    恬恬有一个nx n的数组。她在用这个数组玩游戏:
    开始时,数组中每一个元素都是0。
    恬恬会做某些操作。在一次操作中,她可以将某一行的所有元素同时加上一个值,也可以将某一列的所有元素同时加上一个值。
    在几次操作后,一个元素被隐藏了。你能帮助她回忆隐藏的数是几吗?

    输入描述:

    第一行一个整数n(1≤ n≤ 1000)。
    接下来n行每行n个整数表示数组a。
    第(i+1)行的第j个元素表示aij(aij=-1或0≤ aij ≤ 10000)。-1表示隐藏的元素。

    输出描述:

    仅一个整数表示答案。

    示例1

    输入

    3
    1 2 1
    0 -1 0
    0 1 0

    输出

    1

    思路

    找到数值为-1的位置,记录下来所在行列,画个矩阵找下规律就出来了

    AC代码

    /*
    * @Author: WZY
    * @Date:   2018-10-09 16:36:48
    * @Last Modified by:   WZY
    * @Last Modified time: 2018-10-09 16:51:40
    */
    #include <stdio.h>
    #include <string.h>
    #include <iostream>
    #include <algorithm>
    #include <math.h>
    #include <limits.h>
    #include <map>
    #include <stack>
    #include <queue>
    #include <vector>
    #include <set>
    #include <string>
    #include <time.h>
    #define ll long long
    #define ull unsigned long long
    #define ms(a) memset(a,0,sizeof(a))
    #define pi acos(-1.0)
    #define INF 0x7f7f7f7f
    #define lson o<<1
    #define rson o<<1|1
    #define debug(...) cerr<<"["<<#__VA_ARGS__":"<<(__VA_ARGS__)<<"]"<<"
    "
    const double E=exp(1);
    const int maxn=1e3+10;
    const int mod=1e9+7;
    using namespace std;
    int a[maxn][maxn];
    int main(int argc, char const *argv[])
    {
    	ios::sync_with_stdio(false);
    	#ifndef ONLINE_JUDGE
    	    freopen("in.txt", "r", stdin);
    	    freopen("out.txt", "w", stdout);
    	    double _begin_time = clock();
    	#endif
    	int n;
    	cin>>n;
    	int x,y;
    	for(int i=0;i<n;i++)
    		for(int j=0;j<n;j++)
    		{
    			cin>>a[i][j];
    			if(a[i][j]==-1)
    				x=i,y=j;
    		}
    	if(x&&y)
    	{
    		cout<<a[x][0]+a[0][y]-a[0][0]<<endl;
    		return 0;
    	}
    	else
    	{
    		int res;
    		if(x==0&&y)
    			res=a[x+1][y]-a[1][0]+a[0][0];
    		else if(x&&y==0)
    			res=a[x][y+1]-a[0][1]+a[0][0];
    		else
    			res=a[0][1]+a[1][0]-a[1][1];
    		cout<<res<<endl;
    	}
    	#ifndef ONLINE_JUDGE
    	    long _end_time = clock();
    	    printf("time = %lf ms.", _end_time - _begin_time);
    	#endif
    	return 0;
    }
  • 相关阅读:
    (转)图文并茂详解VisualStudio使用技巧一
    使用VS2005的 ClickOnce 技术实现按需下载组件
    (转)VS2005 SP1发布,解决只能创建WebSite,无法创建Web Application项目的问题
    .NET设计规范笔记1
    No error message available, result code: E_FAIL(0x80004005)
    SSL SettingsClient certificates
    处理程序“PageHandlerFactoryIntegrated”在其模块列表中有一个错误模块“ManagedPipelineHandler”
    添加IIS_IUSRS
    DTS,复制到同一服务器下
    在IIS7.5上配置Https,SSL
  • 原文地址:https://www.cnblogs.com/Friends-A/p/10324347.html
Copyright © 2020-2023  润新知