[ジム - 100923A]ポルCostelとAzerah(水思考タイトル)

ポルCostelとAzerah

説明

Nでもさ、あなたの番号を与えるために、サブシーケンスの数をお聞きし、 

入力
2 
3
3 10 1
2
4 2
出力
3 
3
トピックリンク
 
おぞましいです  

freopenは( "azerah.in"、 "R"、STDIN)。
freopenは( "azerah.out"、 "W"、STDOUT)。

そうしないと、あなたは私が間違っているカード1時間追加されている必要があります

コードで直接見て、それはかなりの水

 

ACコード

書式#include <iostreamの> 
の#include <cstdioを> 
する#include <fstreamの> 
の#include <アルゴリズム> 
書式#include <cmath> 
の#include <両端キュー> 
の#include <ベクトル> 
の#include <キュー> 
の#include < 文字列 > 
の#include <CStringの> 
#include <地図> 
の#include <スタック> 
の#include < 設定 > 
の#include <sstream提供>
 の#define IOS ios_base :: sync_with_stdio(0)。cin.tie(0)。
LL長い長
 の#define 0x3f3f3f3f INF
 の#define MEM(X、Y)のmemset(X、Y、はsizeof(X))
 の#define MAXN 1000010
 使用して 名前空間STD。
LL T、N。
INT メイン()
{ 
    freopenは(" azerah.in "" R " 、STDIN)。
    freopenは(" azerah.out "" W " 、STDOUT)。
    CIN >> T;
    一方、(T-- 
    { 
        CIN >> N。
        LLのx; 
        LL N1= 0 ; // 奇数 
        LL N2 = 0 ; // 偶数
        のための(I = LL 。1 ; I <= N; I ++は
        { 
            CIN >> X;
             IF(X%2 
                N1 ++ ;
             
                N2 ++ ; 
        } 
        LL S1 = 1 ; // 偶数奇数のサブシーケンスの数^ 2 =(S1-1)-1 
        LL = S2 1。 ; // 偶数= 2 ^ S2-1における偶数の配列
         // オーバーフローすることを恐れ、それはステップバイステップループます
        (LL i = 1 ; iは= N2 <; Iは++ 
        { 
            S1 * = 2 ; 
            S1%= モッド。
        } 
        のための(LL i = 1 ; iは、N1 <; iは++ 
        { 
            S2 * = 2 ; 
            S2%= モッド。
        } 
        S1 - 
        S2 - ; 
        COUT <<(S1 + S2 + S1 * S2)%モッド<< ENDL。
    } 
    戻り 0 
}

 

おすすめ

転載: www.cnblogs.com/sky-stars/p/11229129.html