CF894A QAQ
CF894A QAQ
題意翻譯
題目大意: 給定一個字符串,字符串長度<=100,現在要求出字符串中'QAQ'的個數,注意,'QAQ'可以不連續,只要有順序就可以了,例如QABQ也有一個QAQ
Translated by @Hjl1777
題目描述
"QAQ" is a word to denote an expression of crying. Imagine "Q" as eyes with tears and "A" as a mouth.
Now Diamond has given Bort a string consisting of only uppercase English letters of length?nn?. There is a great number of "QAQ" in the string (Diamond is so cute!).
illustration by 貓屋?https://twitter.com/nekoyaliuBort?wants to know how many subsequences "QAQ" are in the string Diamond has given. Note that the letters "QAQ" don't have to be consecutive, but the order of letters should be exact.
輸入輸出格式
輸入格式:?
The only line contains a string of length?nn?(?1<=n<=1001<=n<=100?). It's guaranteed that the string only contains uppercase English letters.
?
輸出格式:?
Print a single integer — the number of subsequences "QAQ" in the string.
?
輸入輸出樣例
輸入樣例#1:?復制 QAQAQYSYIOIWIN 輸出樣例#1:?復制 4 輸入樣例#2:?復制 QAQQQZZYNOIWIN 輸出樣例#2:?復制 3說明
In the first example there are?44?subsequences "QAQ": "QAQAQYSYIOIWIN", "QAQAQYSYIOIWIN", "QAQAQYSYIOIWIN", "QAQAQYSYIOIWIN".
?
思路:組合數學搞一下就可以了。
#include<cstdio> #include<cstring> #include<iostream> #include<algorithm> using namespace std; string s; int ans,t,q[100]; int main(){cin>>s;int len=s.size();for(int i=0;i<s.size();++i) q[i]=s[i]=='Q'?++t:t;for(int i=0;i<s.size();++i) if(s[i]=='A') ans+=q[i]*(t-q[i]);cout<<ans; }?
轉載于:https://www.cnblogs.com/cangT-Tlan/p/8441357.html
總結
以上是生活随笔為你收集整理的CF894A QAQ的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小心你的Python程序,它会是你的一面
- 下一篇: Cocoa编程指南