2017-07-14 18:13:35

  • writer:pprp
  • 介绍:最基本用代码展示思想的一道题
  • 题意如下;
  • 他细细观察了自己的工作环境,发现整个工作室是一个N行M列的矩形布局,或者是因为屌丝的本性逐步暴露,他还暗自给每个同事在心里进行了魅力值评分(为区别男女,男生一律用负整数表示,女生一律用正整数表示)。 
      现在,小Q把所有人的数据记录下来,并且这样定义一个位置的价值: 
      1、一个位置的价值只和其上下左右四个邻居的魅力值有关(对于靠边的位置,只考虑其存在的邻居); 
      2、如果某位置的邻居和该位置主人性别不同,则总分加上邻居魅力值的绝对值,否则减去; 
      3、对周围所有邻居的数据处理后,最终的得分即为这个位置的最终得分,得分越高,则该位置越好;

      现在你能帮助小Q计算一下哪里才是最佳位置吗?

    Input输入包含多组测试数据; 
    每组测试数据的第一行包含2个整数N和M,表示工作室的布局是N行M列; 
    接下来的N行,每行有M个整数,分别表示对应位置员工的魅力值数据Ki,正整数表示女生的魅力值,负整数表示男生的魅力值; 
    N和M为0的时候表示输入数据结束。

    TechnicalSpecificationTechnicalSpecification 
    N<=20 
    M<=20 
    -100<=Ki<=100 
    Output请计算并输出最佳位置的行列号以及对应的得分,如果得分最高的位置有多个,则请输出行号最小的那个,行号还相同的话,再比较列号,只输出列号最小的那个即可。 
    Sample Input

    1. 2 3
    2. 5 -4 3
    3. -6 3 7
    4. 0 0

    Sample Output

    1. 1 2 11
    1. #include <iostream>
    2. #include <cmath>
    3.  
    4. using namespace std;
    5.  
    6. int main()
    7. {
    8. int N,M;
    9.  
    10. while(cin >> N >> M && (N!=)&&(M!=))
    11. {
    12. int **a = new int* [N+];
    13. int ** b = new int* [N+];
    14.  
    15. for(int i = ; i < N+; i++)
    16. {
    17. a[i] = new int[M+];
    18. b[i] = new int[M+];
    19. }
    20.  
    21. for(int i = ; i <= N+ ; i++)
    22. {
    23. for(int j = ; j <= M+ ; j++)
    24. {
    25. if(i == || j == ||i == N+ || j == M+)
    26. {
    27. a[i][j] = ;
    28. }
    29. else
    30. {
    31. cin >> a[i][j];
    32. }
    33. }
    34. }
    35. for(int i = ; i <= N+; i++)
    36. for(int j = ; j <= M+ ; j++)
    37. b[i][j] = ;
    38.  
    39. for(int i = ; i <= N; i++)
    40. {
    41. for(int j = ; j <= M ; j++)
    42. {
    43. int up = a[i-][j],down = a[i+][j],
    44. left = a[i][j-],right = a[i][j+];
    45.  
    46. if(a[i][j] > )
    47. {
    48. int tmp = ;
    49. if(up > )
    50. {
    51. tmp -= abs(up);
    52. }
    53. else
    54. {
    55. tmp += abs(up);
    56. }
    57. if(down > )
    58. {
    59. tmp -= abs(down);
    60. }
    61. else
    62. {
    63. tmp += abs(down);
    64.  
    65. }
    66. if(left > )
    67. {
    68. tmp -= abs(left);
    69. }
    70. else
    71. {
    72. tmp += abs(left);
    73.  
    74. }
    75. if(right > )
    76. {
    77. tmp -= abs(right);
    78. }
    79. else
    80. {
    81. tmp += abs(right);
    82. }
    83. b[i][j]=tmp;
    84. }
    85. else if(a[i][j] < )
    86. {
    87. int tmp = ;
    88. if(up > )
    89. {
    90. tmp += abs(up);
    91. }
    92. else
    93. {
    94. tmp -= abs(up);
    95. }
    96. if(down > )
    97. {
    98. tmp += abs(down);
    99. }
    100. else
    101. {
    102. tmp -= abs(down);
    103. }
    104. if(left > )
    105. {
    106. tmp += abs(left);
    107. }
    108. else
    109. {
    110. tmp -= abs(left);
    111. }
    112. if(right > )
    113. {
    114. tmp += abs(right);
    115. }
    116. else
    117. {
    118. tmp -= abs(right);
    119. }
    120. b[i][j] = tmp;
    121. }
    122. else
    123. return ;
    124. }
    125. }
    126.  
    127. int maxcharm = ;
    128. int tagi,tagj;
    129.  
    130. for(int i = ; i <= N ; i++)
    131. {
    132. for(int j = ; j <= M ; j++)
    133. {
    134. if(b[i][j] != )
    135. if(maxcharm < b[i][j])
    136. {
    137. tagi = i;
    138. tagj = j;
    139. maxcharm = b[i][j];
    140. }
    141. }
    142. }
    143.  
    144. cout << tagi <<" "<< tagj <<" "<<maxcharm<<endl;
    145.  
    146. }
    147.  
    148. return ;
    149. }

vjudge-A-这是测试你会不会语言的模拟的更多相关文章

  1. Vjudge - B - 这是测试你会不会排序

    2017-07-14 22:44:11 writer:pprp 题目: 他们提出的比赛规则是这样的: 1.  每方派出n个人参赛: 2.  出赛的顺序必须是从弱到强(主要担心中国人擅长的田忌赛马):  ...

  2. 测试c语言函数调用性能因素之测试三

    函数调用:即调用函数调用被调用函数,调用函数压栈,被调用函数执行,调用函数出栈,调用函数继续执行的一个看似简单的过程,系统底层却做了大量操作. 操作: 1,               调用函数帧指针 ...

  3. webdriver高级应用- 测试HTML5语言实现的视频播放器

    能够获取HTML5语言实现的视频播放器,视频文件的地址.时长,控制播放器进行播放或暂停播放等操作. #encoding=utf-8 import unittest from selenium impo ...

  4. 测试Swift语言代码高亮-使用highlight.js

    func &( left:OCBool, right: OCBool)->OCBool{ if left{ return right } else{ return false } }

  5. setlocale()函数测试当前语言的两个程序

    http://www.cnblogs.com/cnyao/archive/2010/05/06/1729220.html setlocale()函数是用来配置地域信息的,原本以为这个也是windows ...

  6. .net单元测试——常用测试方式(异常模拟、返回值测试、参数测试、数据库访问代码测试)

    最近在看.net单元测试艺术,我也喜欢单元测试,今天介绍一下如何测试异常.如何测试返回值.如何测试模拟对象的参数传递.如何测试数据库访问代码.单元测试框架使用的是NUnit,模拟框架使用的是:Rhin ...

  7. 汽车总线obd模拟器,obd仿真器,ecu模拟器,obd开发测试工具,可以模拟ecu中的obd协议 MRD-5050

    汽车总线OBD模拟器MRD-5050型号是在车辆越来越趋于网络化的趋势下研发的,是汽车产品开发.调试.生产必备的工具,能为为开发人员节省大量的时间.当前车辆上的总线设备越来越多,有的高端车上甚至多到有 ...

  8. 【C语言】模拟实现atoi函数

    atoi(表示 ascii to integer)是把字符串转换成整型数的一个函数. atoi()函数会扫描参数 nptr字符串,跳过前面的空白字符(例如空格,tab缩进等,可以通过isspace( ...

  9. 【C语言】模拟实现库函数strcat函数

    //模拟实现库函数strcat函数 #include <stdio.h> #include <string.h> #include <assert.h> char ...

随机推荐

  1. ajax数据提交数据的三种方式和jquery的事件委托

    ajax数据提交数据的三种方式 1.只是字符串或数字 $.ajax({ url: 'http//www.baidu.com', type: 'GET/POST', data: {'k1':'v1'}, ...

  2. style2paints、deepcolor、sketchkeras项目

    数据集不够怎么办? 1 一些传统的边缘提取算法可以提取图像边缘. 2 这里我们有一个使用神经网络提取线稿图的项目——sketchkeras 源码:https://github.com/lllyasvi ...

  3. luarocks安装以及lfs安装

    一.先安装lua: brew install lua 我本机的安装路径为:/usr/local/Cellar/lua/5.3.4_2 二.安装luarocks 下载luarocks的安装包: http ...

  4. 通过virt-manager 利用NFS创建、迁移虚拟机1

    NFS作为一种网络文件系统,近些年随着云计算的发展也变得越来越受欢迎.因为云环境下会部署大量的虚拟机,而在物理机发生故障的时候,云服务商必须要保障虚拟机的安全性,即不能因为物理机的故障就停止虚拟机.这 ...

  5. 【我的Android进阶之旅】推荐一款视频转换GIF图片格式的转换工具(Video to GIF)

    一.背景 最近想把一些Android Demo的运行效果图获取下来,但是一直使用真机进行调试,在电脑上不好截取一段gif动画.而之前使用模拟器的时候可以使用 GifCam 工具进行屏幕动画截取.Gif ...

  6. error: https://packages.elastic.co/GPG-KEY-elasticsearch: import read failed(2).

    安装filebeat报错: curl: (35) SSL connect errorerror: https://packages.elastic.co/GPG-KEY-elasticsearch: ...

  7. SharePoint 2013 附加内容数据库后出现404错误

    本文讲述怎样解决SharePoint 2013 加内容数据库(Content DataBase)后出现404错误. 笔者依照http://technet.microsoft.com/en-us/lib ...

  8. Sails 框架学习资料

    一介布衣 http://yijiebuyi.com/so.html?k=sails sails modules 模型自带的方法介绍 2016-09-06  929  nodejs查看更多 node.j ...

  9. 重新编写equals()方法,hashCode()方法,以及toString(),提供自定义的相等标准,以及自描述方法

    下面给出一个实例,重新编写equals()方法,提供自定义的相等标准 public class PersonTest { public static void main(String[] args) ...

  10. IntelliJ IDEA的几个常用快捷键

    一.将IntelliJ IDEA的快捷键设置为Eclipse环境的快捷键 如果之前长期使用Eclipse作为开发工具的程序员在刚开始接触IDEA的时候肯定会很不习惯,所以如果你没有太多时间去研究的话可 ...