鹼基
【輸入格式】
輸入的第一行包含三個整數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發子彈得分都是多少呢?有哪些可能情況呢?...