codeforces 1236D

ポータル:https://codeforces.com/contest/1236/problem/D

ギャングするコードの実装:https://blog.csdn.net/weixin_39132605/article/details/102868652

 

1の#include <ビット/ STDC ++ H>
 2  の#define長い長llの
 3  使用して 名前空間STDを、
4  CONST  INT MAXN = 1E5 + 5 5   
6  セット < INT > S1 [MAXN]、S2 [MAXN]。
7  INT メイン()
 8  {
 9      整数N、M、K。
10      のscanf(" %D%D%D "、&​​N、&M、およびK);
11      のためにINT iは= 1 ; I <= K; I ++ ){
 12         のint X、Y。
13         のscanf(" %D%D "、およびX&Y)。
14の        S1 [X] .insert(Y)、S2 [Y] .insert(X)。
15      }
 16      のためにINT iが= 1 ; iが<= N; I ++ ){
 17          、S1 [i]が.insert(0); S1 [i]は.insert(M + 1 )。
18      }
 19      のためにINT iは= 1 ; iが<= M; I ++ ){
 20          S2 [i]が.insert(0); S2 [i]を.insert(nは+ 1 )。
21      }
 22      INT nowx =1、新しい= 1 ;
23の      II ANS = 1 24      INT NX = 1、NY = 1 25      INT MAXX = N = MAXY M、ミンクス= 1、鉱山= 1 26      のためにINTは iは= 0 ;; I ++ 27      {
 28          であれば(私%4 == 0 ){
 29              NX = nowx。
30台の             int型の POS = * S1 [nowx] .lower_bound(新しいです)。
31、              NY =分(MAXY、POS- 1);
32              ミンクス= NX + 1 33          }
 34          そう なら(I%4 == 1 ){
 35              ニューヨーク= 新しいです;
36台の             int型の POS = * S2 [新規] .lower_bound(nowx)。
37              NX =分(MAXX、POS- 1 )。
38              MAXY = NY- 1 39          }
 40          そう なら(I%4 == 2 ){
 41              NX = nowx。
42              自動T =S1 [nowx] .lower_bound(ノヴィ)。
43              it-- 44              INT POSY = * それ。
45              ニューヨーク= MAX(MINY、POSY + 1 )。
46              MAXX = nowx- 1 47          }
 48          そう なら(I%4 == 3 ){
 49              NY = ノヴィ。
50              自動それ= S2 [ノヴィ] .lower_bound(nowx)。
51              it-- 52              INT POSX = * それ。
53              NX = MAX(ミンクス、POSX + 1);
54              面新しい= + 1 ;
55          }
 56          ANS + = ABS(NX-nowx)+ ABS(NY- 新しいです)。
57          であれば(nowx == ==新しい&& NX 、NY){
 58              であれば(nowx == 1 &&新しい== 1 &&%及び4 == 0 ){}
 59               { ブレーク;}
 60          }
 61          nowx = NX、新しい= NY。
62      }
 63      であれば(ANS ==(II)のn * m個のK){
 64          COUT << " YES "<< てendl;
65      }
 66      {
 67          COUT << " NO " << ENDL。
68      }
 69      リターン 0 70 }
コードの表示

 

 

 

 

おすすめ

転載: www.cnblogs.com/sj-gank/p/11834071.html