問題の20アナログ溶液(待機)

ピットを埋めされずに残っています

T2

1の#include <cstdioを>
 2の#include <ベクトル>
 3の#include <CStringの>
 4の#include <iostreamの>
 5の#include <アルゴリズム>
 6  の#define Rレジスタ
 7  使って 名前空間STD。
8インラインint型リード()
 9  {
 10      のint F = 1、X = 0チャー CH = GETCHAR()。
11      一方(CH> ' 9 ' || CH < ' 0 '){ 場合(CH == '- ')、F = - 1 ; CH = GETCHAR();}
 12      ながら、(CH <= ' 9 ' && CH> = ' 0 '){X =(x << 3)+(X << 1)+(CH ^ 48)、CH = GETCHAR();}
 13      リターンのF *のX。
14  }
 15  のconst  int型 MAXN = 2005 16  int型N、M、Q。
17  CHAR [ 2005 ] [ 2005 ]。
18  INT S [ 2005 ] [ 2005]、B [ 2005 ] [ 2005 ]、RB [ 2005 ] [ 2005 ]、CB [ 2005 ] [ 2005 ]; // S [I]、[J]、B [I]、[J](i、j)のからの左上の点、エッジプレフィックスの数、RB [I] [j]は、i番目の行とj番目の列に
19。 INT メイン()
 20は 、{
 21は     // freopenは( "データ"、 "R&LT"、STDIN); 
22であります      N- = READ()、M =読む()、Q = 読む();
 23である     ため(R&LT INT I = 1 ; I <= N; ++ I)が
 24          scanfの(" %S "、A [I] + 1 );
 25      のためのint型 I =1 ; iは= N <; ++ I)
 26      {
 27          INT = 0、NWB = 0 28          のためにINT J = 1 ; J <= M ++ j)の
 29          {
 30              、CB [I] [J] = CB [I- 1 ] [J]。
31              RB [I] [J] = RB [I]、[J- 1 ]。
32              であれば([I] [J] == ' 1 ' ){
 33                  ++ 34                  であれば([I- 1 ] [j] == ' 1 '){NWB ++; CB [I] [J] ++ ;}
 35                  であれば([I]、[J- 1 ] == ' 1 '){NWB ++; RB [I] [J] ++ ;}
 36              }
 37              S [i]は[J] = S [I- 1 ] [J] + NWS。
38件の              B [i]は[J] = bの[I- 1 ] [J] + NWB。
39          }
 40      }
 41      のための(R INT I = 1 ; I <= Q; ++ I)
 42      {
 43          のR intは X =読み取る()、yは、read()は=をXX =(読み取り)、yyは= read()は;
44          INT よう = Sは[XX] [YY]を-s [X- 1 ] [YY] - (S [XX] [Y-は1 ] -s [X- 1 ] [Y- 1 ])。
45          INT AB = bの[XX] [YY] -b [X] [YY] - (B [XX] [Y] -b [X] [Y])+(RB [X] [YY] -rb [X ] [Y])+(CB [XX] [Y] - CB [X] [Y])。
46          のprintf(" %d個の\ n "などの - AB)。
47      }
 48 }
コードの表示

 

おすすめ

転載: www.cnblogs.com/casun547/p/11352486.html