矩阵子矩阵和计算
高效计算二维矩阵中子矩阵元素之和的C++实现
代码展示
<!-- 代码内容 -->
<div class="flex overflow-x-auto">
<!-- 行号 -->
<div class="bg-gray-800 text-gray-400 px-2">
<div class="code-line">1</div><div class="code-line">2</div><div class="code-line">3</div><div class="code-line">4</div><div class="code-line">5</div>
<div class="code-line">6</div><div class="code-line">7</div><div class="code-line">8</div><div class="code-line">9</div><div class="code-line">10</div>
<div class="code-line">11</div><div class="code-line">12</div><div class="code-line">13</div><div class="code-line">14</div><div class="code-line">15</div>
<div class="code-line">16</div><div class="code-line">17</div><div class="code-line">18</div><div class="code-line">19</div><div class="code-line">20</div>
<div class="code-line">21</div><div class="code-line">22</div><div class="code-line">23</div><div class="code-line">24</div><div class="code-line">25</div>
<div class="code-line">26</div><div class="code-line">27</div><div class="code-line">28</div><div class="code-line">29</div><div class="code-line">30</div>
<div class="code-line">31</div><div class="code-line">32</div><div class="code-line">33</div><div class="code-line">34</div><div class="code-line">35</div><div class="code-line">36</div>
</div>
<!-- 代码 -->
<div class="font-mono text-gray-200 flex-1" id="code-content">
<div class="code-line"><span class="keyword">#include</span> <span class="string"><cstdio></span></div>
<div class="code-line"></div>
<div class="code-line"><span class="comment">// int matrix[2000][2000];</span></div>
<div class="code-line"><span class="keyword">int</span> <span class="variable">matrix</span>[<span class="number">2001</span>][<span class="number">2001</span>];</div>
<div class="code-line"><span class="comment">// int submetricsum[2000][2000];</span></div>
<div class="code-line"><span class="keyword">long long</span> <span class="variable">submetricsum</span>[<span class="number">2001</span>][<span class="number">2001</span>];</div>
<div class="code-line"></div>
<div class="code-line"><span class="keyword">int</span> <span class="function">main</span>()</div>
<div class="code-line">{</div>
<div class="code-line"> <span class="keyword">int</span> <span class="variable">n</span>, <span class="variable">m</span>, <span class="variable">q</span>;</div>
<div class="code-line"> <span class="function">scanf</span>(<span class="string">"%d%d"</span>, &<span class="variable">n</span>, &<span class="variable">m</span>);</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">i</span> = <span class="number">1</span>; <span class="variable">i</span> <= <span class="variable">n</span>; ++<span class="variable">i</span>) {</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">j</span> = <span class="number">1</span>; <span class="variable">j</span> <= <span class="variable">m</span>; ++<span class="variable">j</span>) {</div>
<div class="code-line"> <span class="function">scanf</span>(<span class="string">"%d"</span>, &<span class="variable">matrix</span>[<span class="variable">i</span>][<span class="variable">j</span>]);</div>
<div class="code-line"> }</div>
<div class="code-line"> }</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">j</span> = <span class="number">0</span>; <span class="variable">j</span> <= <span class="variable">m</span>; ++<span class="variable">j</span>) {</div>
<div class="code-line"> <span class="variable">submetricsum</span>[<span class="number">0</span>][<span class="variable">j</span>] = <span class="number">0</span>;</div>
<div class="code-line"> }</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">i</span> = <span class="number">1</span>; <span class="variable">i</span> <= <span class="variable">n</span>; ++<span class="variable">i</span>) {</div>
<div class="code-line"> <span class="variable">submetricsum</span>[<span class="variable">i</span>][<span class="number">0</span>] = <span class="number">0</span>;</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">j</span> = <span class="number">1</span>; <span class="variable">j</span> <= <span class="variable">m</span>; ++<span class="variable">j</span>) {</div>
<div class="code-line"> <span class="variable">submetricsum</span>[<span class="variable">i</span>][<span class="variable">j</span>] = <span class="variable">submetricsum</span>[<span class="variable">i</span>][<span class="variable">j</span> - <span class="number">1</span>] + <span class="variable">matrix</span>[<span class="variable">i</span>][<span class="variable">j</span>] + <span class="variable">submetricsum</span>[<span class="variable">i</span>-<span class="number">1</span>][<span class="variable">j</span>] - <span class="variable">submetricsum</span>[<span class="variable">i</span>-<span class="number">1</span>][<span class="variable">j</span>-<span class="number">1</span>];</div>
<div class="code-line"> }</div>
<div class="code-line"> }</div>
<div class="code-line"> <span class="function">scanf</span>(<span class="string">"%d"</span>, &<span class="variable">q</span>);</div>
<div class="code-line"><span class="comment">// int sum = 0;</span></div>
<div class="code-line"> <span class="keyword">int</span> <span class="variable">x</span>,<span class="variable">y</span>,<span class="variable">a</span>,<span class="variable">b</span>;</div>
<div class="code-line"> <span class="keyword">for</span> (<span class="keyword">int</span> <span class="variable">i</span> = <span class="number">1</span>; <span class="variable">i</span> <= <span class="variable">q</span>; ++<span class="variable">i</span>) {</div>
<div class="code-line"> <span class="comment">// int x, y, a, b;</span></div>
<div class="code-line"> <span class="keyword">long long</span> <span class="variable">sum</span> = <span class="number">0</span>;</div>
<div class="code-line"> <span class="function">scanf</span>(<span class="string">"%d %d %d %d





