羅区P1564崇拝

トピックポータル

問題解決のアイデア:

崇拝者に-1に設定賛美、1アセテートA、および接頭辞を求めて、F [i]はi番目の個々の部屋のために必要な最小数を表します。

ACコード:

1の#include <iostreamの>
 2の#include <cstdioを>
 3の#include <CStringの>
 4の#include <cmath>
 5  
6  使用して 名前空間STDを、
7  
8  整数 N、M、[ 2501 ]、J、Y、F [ 2501 ]和[ 2501 ]。
9  
10  INT メイン(){
 11      のmemset(F、0x3f3f3fはsizeof (F))。
12      のscanf(" %D%D "、&​​N、&M)。
13      のためにINT I = 1; I <= N。I ++ ){
 14          のscanf(" %dの"、および[I])。
15          であれば([I] == 2)和[I] =和[I- 1 ] - 1 16          和[I] =和[I- 1 ] + 1 17      }
 18      F [ 0 ] = 0 ;
19      のためにINT iが= 1 ; iが<= N; I ++ 20          のためのINT J = 1 ; J <= I; J ++ 21             IF(ABS(SUM [I] - SUM [J- 1 ])== I - J + 1 || ABS(SUM [I] - SUM [J- 1 ])<= M)
 22は、             // 全て等しく、この期間またはこれ以上の数mより両方によって
23は                  F [I] =分(F [I]、F [J- 1 ] + 。1 ;)
 24      のprintf(" %のD " 、F [N-]);
 25      リターン 0 ;
 26のIS }

 

おすすめ

転載: www.cnblogs.com/lipeiyi520/p/12386736.html