學家zzy根據字型的特點,建立了一系列小號… i_love_chtholly!又到了打wannafly的時候,許許多多的大佬準備註冊小號開始虐場,zzy也不例外,他發現他的電腦的字型有乙個特點!某些不同的字元所顯示的是一樣的!
滿足以下四種情況之一,所顯示的字元是一樣的
1、兩個字元互為英文本母的大小寫
2、大寫的』i』和小寫的』l』
3、大寫的』o』和數字』0』
4、基於前三種情況,三個字元a,b,c,如果a和b顯示相同,b和c顯示相同,那麼a和c顯示也是相同的
珂學家zzy想知道,對於乙個他看起來相同的暱稱,有多少個看起來一樣的暱稱
兩個字串看起來一樣當且僅當長度一樣且每個對應的位置的字元看起來一樣
乙個字串,只包含大小寫字母和數字
共一行乙個整數,表示看起來一樣的暱稱數,由於這個數比較大,所以只要求輸出模1e9 + 7意義下的解
abcdl
64
第乙個位置、第二個位置、第三個位置、第四個人位置都只有兩種顯示相同的字元
第五個位置有四種顯示相同的字元
字串長度1<=|s|<=1e5
其實也就是考個理解
1、兩個字元互為英文本母的大小寫(即忽略大小寫,2種顯示相同的字元)
2、大寫的』i』和小寫的』l』(即 i、i、l、l,4種顯示相同的字元)
3、大寫的』o』和數字』0』(即 o、o、0,3種顯示相同的字元)
注意:不要把 數字 1 混進去了。。
#include #include #include #define mod 1000000007
typedef unsigned long long ull;
using namespace std;
int main()
else if(ch=='i'||ch=='l')else if(ch=='0'||ch=='o')
}cout << ans << endl;
return 0;
}
Wannafly挑戰賽13 比賽總結與部分題解
a 題意很清晰了,就是讓你打表,問你一共多少字串看起來一樣,把每一位的情況數乘起來就可以了 注意取模方式 includeusing namespace std int main else if s i 1 s i 9 printf lld n sum b 說實話我原來真的想複雜了,以為隨機出現的雲彩...
Wannafly挑戰賽A 概率DP
給你乙個長 n 的序列,m 次查詢 每次查詢給乙個 x,然後 從序列的最左端 1 開始,每次隨機的選擇乙個右端點 r,如果兩個端點間的區間和不超過 x 就進行一次分割,然後把左端點變成 r 1,否則一直隨機下去。問這樣分割出來的期望段數 第一行兩個數 n,m 之後一行 n 個數表示這個序列 之後m行...
Wannafly挑戰賽5 補題
a 珂朵莉與宇宙 思路 科學暴力 列舉字首和,同時計算字首和裡面可能出現的完全平方數,匹配字首和 與完全平方數的差值是否在之前的字首和出現,出現了幾次就是存在多少個區間,利用的是連續的性質。include using namespace std typedef long long ll const ...