BZOJ4500行列

説明

N×m個の行列は、各ビンの初期重量は0であり、行列は2つの操作を実行できます。

  1. 行、列の各グリッド値の重みプラス1またはマイナス1を選択します。
  2. 1、各ビン値の列重みプラス1またはマイナス1を選択します。
    K制限、トリプレットにそれぞれ限定された(X、Y、C)、代表的なグリッド(x、y)の重みCに等しいがあります。行列操作の後、すべての制限を満たすように、一連の動作があるかどうかを尋ねます。ある場合は、出力「はい」、そうでない場合は「いいえ」。

入力

最初の入力T(Tは<= 5)T基と、それぞれのデータ形式、入力データを表す:
三つの整数N、M、K(1 <の最初の行 = N、M、K <= 1000)。
次のk行、三つの整数X、Y、Cの各列。

出力

各試験、出力YesまたはNoのため

サンプル入力

2

2 2 4

1 1 0

1 2 0

2 1 2

2 2 2

2 2 4

1 1 0

1 2 0

2 1 2

2 2 1

サンプル出力

はい

ノー

問題の解決策

i行目の西との動作を示し、Yjには、 西ている(I、J、C)のためのj列目の操作を表し+ Yのjは C =

C <=のX iは Y + J > - <= C( - Yのjは)+ C <= X I      X 、I -c <=( - YのJ

Spfaは、トラバースすることができないいくつかのポイントを防ぐ、キュー内のすべてのポイントの先頭に注意を払う、リングを没収するために道路を走りました

胡純粋に口の中、何の権限がないため、支払うことができません

#include <ビット/ STDC ++ H>
 使用して 名前空間STDを、

const  int型 MAXN = 2005 ;
int型、T、N、M、K。
int型のCNT、ヘッド[MAXN]、CX [MAXN]。
構造体のエッジ{
     int型のY、ヴァル、次。
} E [MAXN << 1 ]。

ボイド追加(int型のx、int型の Y、int型Z){ 
    E [ ++ CNT] = (エッジ){Y、Z、ヘッド[X]}。
    ヘッド[X] = CNT。
} 

INTは[MAXN] DIS。
キュー < 整数 > Q;
BOOL VIS [MAXN]。

ブールspfa(){
     (!q.pop()q.empty());
    int型 i = 1 ; iがM <= N +; I ++)はq.push(I)、DIS [I] = 0、CX [I] = 1、VIS [I] = 一方、(!q.empty()){
         int型のx = q.front()。
        q.pop(); 
        VIS [X] = もし(CX [X]> = N + M)を返す 以下のためにint型 ; I I = I =ヘッド[X] {E [I] .next)
             INT Y = E [I] .Y、ヴァル= Eを[I] .val。
            もし(DIS [Y] <DIS [X] + val)で{ 
                DIS [Y] = DIS [X] + ヴァル。
                場合(!VIS [Y]){ 
                    q.push(Y); VIS [y]は = もし(++ CX [Y]> = N + M)を返す 
                } 
            } 
        } 
    } 
    を返す 
} 

ボイドニース(){ 
    CNT = 0 
    memsetの(頭、0はsizeof (ヘッド))。
    scanf関数(" %D%D%D "、&​​N、&M、およびK);
    以下のためにint型 i = 1 ; iは= Kを<; iは++ ){
         int型X、Y、Z。
        scanf関数(" %D%D%D "、およびX&Y、およびZ)。
        // Z <= X + Y <= Z
         // Z <= X - ( - Y)<= Z
         // (-Y)+ Z <= X XZ <=( - y)は 
        (Y + N、追加x 、Z)、(追加X、Y + N - Z)。
    } 
    のprintf(" %sのを\ n "、spfa()?" いいえ"" はい" )。

%のD "、&; t)は
     、一方(t-- )ニース(); 
}
コードの表示

 

おすすめ

転載: www.cnblogs.com/sto324/p/11208875.html