題目詳情:
用n個不同的字元(編號1 - n),組成乙個字串,有如下2點要求:
1、對於編號為i 的字元,如果2 * i > n,則該字元可以作為最後乙個字元,但如果該字元不是作為最後乙個字元的話,則該字元後面可以接任意字元;
2、對於編號為i的字元,如果2 * i <= n,則該字元不可以作為最後乙個字元,且該字元後面所緊接著的下乙個字元的編號一定要 >= 2 * i。
問有多少長度為m且符合條件的字串。
例如:n = 2,m = 3。則abb, bab, bbb是符合條件的字串,剩下的均為不符合條件的字串。
輸入:n,m (2<=n,m<=1000000000);
輸出:滿足條件的字串的個數,由於資料很大,輸出該數mod 10^9 + 7的結果。
函式頭部
int validstring(int n,int m)
long count = countvalid(n, m);
return bigdecimal.valueof(count % (math.pow(10, 9) + 7)).intvalue();
}//n個字元m位的全排列組合
private static long countvalid(int n, int m)
} else}}
return s;
}//校驗字串是否符合規則
private static boolean checkstr(string str, char chararray, int j)else
}elseelseelse}}
return returnflag;
}private static integer getchararrayindex(char chararray, char c)
}return returnindex;
}//產生1-n的隨機字元
private static char buildchararray(int n)
return returnvalue.tostring().tochararray();
}public static void main(string args)
}
龐果網 字串的完美度
ps 龐果好久沒出新題了。題目 我們要給每個字母配乙個1 26之間的整數,具體怎麼分配由你決定,但不同字母的完美度不同,而乙個字串的完美度等於它裡面所有字母的完美度之和,且不在乎字母大小寫,也就是說字母f和f的完美度是一樣的。現在給定乙個字串,輸出它的最大可能的完美度。例如 dad,你可以將26分配...
龐果網之高斯公式
題目 題目詳情 高斯在上小學時發明了等差數列求和公式 1 2 100 5050。現在問題在於給你乙個正整數n,問你他可以表示為多少種連續正整數之和?自身也算 輸入格式 多組資料,每組資料一行,乙個正整數n。0輸出格式 每組資料一行,包含乙個正整數,表示結果。答題說明 輸入樣例 5120 輸出樣例 2...
龐果英雄會 xml字串檔案的解析
不知道為什麼提交後總是失敗,本機編譯通過。總是使用用例失敗。include include include using namespace std struct xmlattribute struct xmlnode void addnodeattribute xmlnode pnode,xmlat...