2016 第七屆 藍橋杯 國賽 鹼基 C

2021-09-29 12:30:06 字數 1846 閱讀 1561

鹼基

【輸入格式】

輸入的第一行包含三個整數n、m、k,兩個整數之間用乙個空格分隔,意義如題目所述。

接下來n行,每行乙個字串表示一種生物的dna序列。

dna序列從1至n編號,每個序列中的鹼基從1開始依次編號,不同的生物的dna序列長度可能不同。

【輸出格式】

輸出乙個整數,表示關注的元組個數。

答案可能很大,你需要輸出答案除以1000000007的餘數。

【樣例輸入】

3 2 2

atctcg

acg【樣例輸出】

2再例如:

【樣例輸入】

4 3 3

aaaaaaa

aaaaaa

【樣例輸出】

7【資料規模與約定】

對於20%的資料,k<=5,所有字串總長l滿足l <=100

對於30%的資料,l<=10000

對於60%的資料,l<=30000

對於100%的資料,n<=5,m<=5,1<=k<=l<=100000

保證所有dna序列不為空且只會包含』a』 』g』 』c』 』t』四種字母

資源約定:

峰值記憶體消耗 < 256m

cpu消耗 < 1000ms

請嚴格按要求輸出,不要畫蛇添足地列印類似:「請您輸入…」 的多餘內容。

所有**放在同乙個原始檔中,除錯通過後,拷貝提交該原始碼。

注意: main函式需要返回0

注意: 只使用ansi c/ansi c++ 標準,不要呼叫依賴於編譯環境或作業系統的特殊函式。

注意: 所有依賴的函式必須明確地在原始檔中 #include , 不能通過工程設定而省略常用標頭檔案。

提交時,注意選擇所期望的編譯器型別。

注意這句話

1<=i11.3和 2,1->2,2

atc

tcg

acg2,2->2,3和 3,2->3,3

atctcg

acg

第2個樣例中長度為3的子串只有"aaa"

各行擁有子串的個數為

1: 1

2: 2

3: 1

4: 1

ans=1*2*1+1*2*1+1*1*1+2*1*1=7

相加等於7,只要遍歷出所有子串的情況就可以了

#include

#include

#include

#include

#define ll long long

using

namespace std;

int n,m,k;

string a[6]

;int a1[6]

;ll ans=0;

mapres[6]

;mapcheck;

int v[6]

=;void

dfs(string s,

int x)

ans+

=sum; ans%

=1000000007

;return;}

for(

int i=

1;i<=n;i++)}

}int

main()

for(

int i=

1;i<=n;i++

)for

(int j=

0;j<=a[i]

.length()

-k;j++)}

cout<1000000007

;return0;

}

第七屆藍橋杯(國賽) 隨意組合

問題描述 小明被綁架到x星球的巫師w那裡。其時,w正在玩弄兩組資料 2 3 5 8 和 1 4 6 7 他命令小明從一組資料中分別取數與另一組中的數配對,共配成4對 組中的每個數必被用到 小明的配法是 巫師凝視片刻,突然說這個配法太棒了!因為 每個配對中的數字組成兩位數,求平方和,無論正倒,居然相等...

第七屆藍橋杯(國賽) 贏球票

問題描述 某機構舉辦球票大獎賽。獲獎選手有機會贏得若干張球票。主持人拿出 n 張卡片 上面寫著 1 n 的數字 打亂順序,排成乙個圓圈。你可以從任意一張卡片開始順時針數數 1,2,3 如果數到的數字剛好和卡片上的數字相同,則把該卡片收入囊中,從下乙個卡片重新數數。直到再無法收穫任何卡片,遊戲結束。囊...

打靶 第七屆藍橋盃國賽題三

小明參加x星球的打靶比賽。比賽使用電子感應計分系統。其中有一局,小明得了96分。這局小明共打了6發子彈,沒有脫靶。但望遠鏡看過去,只有3個彈孔。顯然,有些子彈準確地穿過了前邊的彈孔。不同環數得分是這樣設定的 1,2,3,5,10,20,25,50 那麼小明的6發子彈得分都是多少呢?有哪些可能情況呢?...